Change 14046

ShadauxCat (ShadauxCat)
ShadauxCat committed this change into //guest/ShadauxCat/csbuild/Mainline under Review 14042
View Review
Download .zip
- Created _utils.OrderedSet() - a set which will keep all items in the same order they were inserted in
- Changed all sets to OrderedSets
- Fixed a missing space in the gcc toolchain
- Fixed AddStaticLibraries() and AddSharedLibraries() having incorrect behavior on gcc and android toolchains, and being ignored entirely on the darwin toolchain
- Added logic to ensure order of libraries - when linking, a library marked as a dependency of another library is always guaranteed to show up in the libraries list after the library that depends on it, unless there is a circular dependency, in which case luck of the draw. This should actually make it feasible to use EnableStrictOrdering() for the linux gcc toolchain again; previously the libraries ended up in undefined order and that setting was impossible to use.
- Added a unit test to ensure strict ordering. It lists linux libraries, but will still work on Windows as it exits before the library verification process.
- Also fixed paths in the default debug and release targets not properly being fixed up and actually outputting to a folder named {project.activeToolchainName}-{project.outputArchitecture}-{project.targetName}
  • Files 14
  • Comments 0
8 edited 6 added 0 deleted
UnitTests/DependencyOrder/dependencyOrderTest.py#1
Loading...
UnitTests/DependencyOrder/myApp/hello.cpp#1
Loading...
UnitTests/DependencyOrder/myLib/myLib.cpp#1
Loading...
UnitTests/DependencyOrder/myLib/myLib.h#1
Loading...
UnitTests/DependencyOrder/myLib2/myLib2.cpp#1
Loading...
UnitTests/DependencyOrder/myLib2/myLib2.h#1
Loading...
csbuild/__init__.py#13
Loading...
csbuild/_shared_globals.py#3
Loading...
csbuild/_utils.py#7
Loading...
csbuild/projectSettings.py#9
Loading...
csbuild/toolchain.py#8
Loading...
csbuild/toolchain_android.py#7
Loading...
csbuild/toolchain_gcc.py#4
Loading...
csbuild/toolchain_gcc_darwin.py#7
Loading...
Tip: Use n and p to cycle through the changes.