feat(build): put fiptool in the build directoryFor some reason, tools are not built in the build directory, but ratherin the source directory, regardless of what BUILD_BASE might say. Thisis espe
feat(build): put fiptool in the build directoryFor some reason, tools are not built in the build directory, but ratherin the source directory, regardless of what BUILD_BASE might say. Thisis especially annoying when trying to have a few builds going at thesame time (like in a CI). For example, run A may check if a file Xexists. Seeing that it does not, it will start building the file. At thesame time, run B may also check if file X exists but before A haswritten it, starting a build again. Then it is possible for A to use thefile it believes to have built right at the moment B begins writing toit (and truncating it beforehand). This results in gcc failing to read afail and a failed build. The more parallel runs there are, the morelikely this is to happen, and this is virtually guaranteed to happenwith just a handful onwards.So move fiptool and all of its build artefacts to the build directory.Since there are platform differences between the various fiptoolincarnations, this goes in the plat build rather than a more top-levellocation.This patch adds the build macro MAKE_TOOL to do this generically for anykind of tool since the other tools suffer from the same shortfall. Thismacro takes care to use unique names for every type of argument thatbuilding a tool might need. The fiptool makefile and platform add-onsare updated accordingly.This should have never been allowed in the first place, but downstreamscripts almost certainly depend on this behaviour now. So add a symlinkin the place of the old fiptool so these continue working. With anyluck, this will be removed in the future.Change-Id: I3d4d87dab0f53deab5b43fbc6652146f0e4e7e81Signed-off-by: Boyan Karatotev <boyan.karatotev@arm.com>
show more ...
refactor(fiptool): change all occurrences of RSS to RSEChanges all occurrences of "RSS" and "rss" in the code and build filesto "RSE" and "rse".Signed-off-by: Tamas Ban <tamas.ban@arm.com>Chang
refactor(fiptool): change all occurrences of RSS to RSEChanges all occurrences of "RSS" and "rss" in the code and build filesto "RSE" and "rse".Signed-off-by: Tamas Ban <tamas.ban@arm.com>Change-Id: I8982c203375250d6c709a26f33fb88673d69da50
refactor(fiptool): move plat_fiptool.mk to toolsMove all plat_fiptool.mks into tools, change the logic to recursivelycheck for tools/fiptool/plat_fiptool/<plat_path>/plat_fiptool.mkI.e. for a pl
refactor(fiptool): move plat_fiptool.mk to toolsMove all plat_fiptool.mks into tools, change the logic to recursivelycheck for tools/fiptool/plat_fiptool/<plat_path>/plat_fiptool.mkI.e. for a platform that has the path "plat/arm/board/tc/platform.mk",the makefile will now load the first existing file from: - tools/fiptool/plat_fiptool/arm/board/tc/plat_fiptool.mk - tools/fiptool/plat_fiptool/arm/board/plat_fiptool.mk - tools/fiptool/plat_fiptool/arm/plat_fiptool.mkThis enables fiptool to support multiple platforms, or a specific one.Remove file-copying previously being used to handle old default path.Remove custom file cleaning in plat_fiptool.mk.Change-Id: I95245bcf7143b329481d4394ab64f29bfe9de5abSigned-off-by: Raef Coles <raef.coles@arm.com>