forked from NineWorldsStudios/FASTBuild
-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updating FASTBuild from 1.11 to 1.12 #1
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- github reports that 10.15 is deprecated
- update to avoid deprecation warnings about the old action using nodejs 12
- some configuration issues need to be resolved
- Also activate Thread test that was not enabled
- use new API where possible - trim legacy API to only what remains in use - make Thread internally directly use what it needs instead of forwarding to the deprecated API
[Improvement] Cache performance improved slightly for check, store and retrieve operations [Improvement] Toolchain management performance improved slightly when toolchain changes [Improvement] Performance of various build steps improved slightly [Improvement] Database validation improved slightly, reducing startup/shutdown time slightly - switch 64bit hashes to xxHash3 which is ~2x-3x faster than xxHash [Note] DB version changed [Note] Cache version changed
…ors in the future - We keep a pointer to the BFFToken responsible for the creation of the variable
* SetExecutable: preserve existing RW permissions; just add X * SetReadOnly: when removing the flag, remove W entirely; when adding the flag, only set for USR * mkdir: Create directories with 0755 permissions
- minor style fixes
- seems like either GCC7 or the version of ubuntu used causes the github action to be stuck in queue forever
- speculative lock acquisition that returns immediately on failure
- FASTBuild has been an exclusively 64bit process for sometime - The processes it can spawn are unaffected
- use compile built-ins for detection of X64 vs ARM instead of setting those in the bff files - this is necessary to allow multiple architectures to be generated in one compiler invocation for OSX Universal Binaries
- de-duplicate config common to x64 and ARM
…inaries - combine existing arm and x64 executables together into universal binaries via new "OSX" targets - gated on availability of Clang12 or newer
* Chained ObjectLists now properly handle sub-directories. * Fix test by increasing number of objects seend and built.
…ability - this helps ensure intermittent issues don't impact overall worker pool reliability
- avoid locking the worker list unnecessarily when not accepting work
… acquired Mutexes
- use new AppendList helper function - make check for valid node name use real node name generation function - move initialization of some bools to header - remove erroneous code comment
- replace manual iteration with range-based fors - replace manual pointer operations with Array::GetIndexOf
- RemoveDir removes dirs as well as files by default - RemoveDir directory berhavior can be controlled with .RemoveDirs and .RemoveRootDir
- FASTBuild can still be used with old versions, just not built using these versions
- make Linux more consistent with Windows
- Remove bad semicolons - Fix comment typo
- precompiled header was included from incorrect directory
- unused macro
- make OSX/Linux use C++17 for consistency with Windows
- should only complain about deleting folders that exist and can't be deleted - improve -verbose output for directory list node when including dir listings
* `Copy`'s `SourceBasePath` property: it said it was required, but it's optional. The docs also said that the type was`String/ArrayOfStrings`, but it's a `String`. * `VCXProject` doc fixes: * `ProjectFileTypes`: * Fix the type from `String or ProjectFileType Structure` to `Array of ProjectFileType Structures`. * Edit the example to show setting the property. * `ProjectConfigs`: fix the example. The example used `[ ... ]` for an array, which is wrong - that's the syntax for an array. Fix it by switching to `{ ... }`. * `Output`: fix the example, which had a misplaced quote. * `OutputDirectory`: fix the example, which was missing a quote. * `XCodeProject`'s `ProjectConfigs` property's example: the example used `[ ... ]` for an array, which is wrong - that's the syntax for an array. Fix it by switching to `{ ... }`. Co-authored-by: Harrison Ting <[email protected]>
…ng operations - update xxhash 0.8.1 -> 0.8.2
- c++ was being implied from the unity .cpp name, so fix the unity name to use .c
- CopyP4ToGit ignores python temp files - GenerateIntegrationFiles only writes files that need changes - GenerateIntegrationFiles can be run with -check option to report if out-of-date without writing - new PrepareRelease script automates the bulk of creating a new release
# Conflicts: # .github/actions/DownloadFBuild/action.yml # Code/Core/FileIO/FileIO.cpp # Code/Core/Mem/Mem.cpp # Code/Core/Mem/Mem.h # Code/Core/Process/ThreadPool.cpp # Code/Tools/FBuild/Documentation/docs/changelog.html # Code/Tools/FBuild/Documentation/docs/download.html # Code/Tools/FBuild/Documentation/docs/functions/vcxproject.html # Code/Tools/FBuild/Documentation/docs/home.html # Code/Tools/FBuild/Documentation/docs/options.html # Code/Tools/FBuild/FBuildCore/BFF/Functions/FunctionCopy.cpp # Code/Tools/FBuild/FBuildCore/FBuildVersion.h # Code/Tools/FBuild/FBuildCore/Graph/DirectoryListNode.cpp # Code/Tools/FBuild/FBuildCore/Graph/NodeGraph.cpp # Code/Tools/FBuild/FBuildCore/Graph/NodeGraph.h # Code/Tools/FBuild/FBuildCore/Graph/ObjectListNode.cpp # Code/Tools/FBuild/FBuildCore/Graph/ObjectNode.cpp # Code/Tools/FBuild/FBuildCore/Graph/RemoveDirNode.cpp # Code/Tools/FBuild/FBuildCore/Graph/VCXProjectNode.cpp # Code/Tools/FBuild/FBuildCore/Graph/VCXProjectNode.h # Code/Tools/FBuild/FBuildCore/Helpers/VSProjectGenerator.cpp # Code/Tools/FBuild/FBuildTest/Tests/TestRemoveDir.cpp # Code/Tools/FBuild/Integration/notepad++markup.xml # Code/Tools/FBuild/Integration/usertype.dat # Code/fbuild.bff # External/SDK/Clang/Linux/Clang14.bff # External/SDK/Clang/Linux/Clang3.bff # External/SDK/Clang/OSX/Clang12.bff # External/SDK/Clang/Windows/Clang17.bff # External/SDK/GCC/Linux/GCC11.bff # External/Zstd/Zstd.bff # External/xxHash/xxHash.bff
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.