summaryrefslogtreecommitdiff
path: root/include/fw
AgeCommit message (Collapse)Author
9 hourscoreboot/3040micro: correct ME_bin_hashLeah Rowe
now the 3040 micro vendor download works Signed-off-by: Leah Rowe <leah@libreboot.org>
9 hoursvendor.sh: use -w, not --whitelistLeah Rowe
for some reason, --whitelist wouldn't work anymore with my copy of me_cleaner. -w is officially supported. Signed-off-by: Leah Rowe <leah@libreboot.org>
12 hoursbuild seabios in a target, not tree/defaultLeah Rowe
otherwise, the recent fix to coreboot builds breaks seabios builds. lbmk should be stable now. Signed-off-by: Leah Rowe <leah@libreboot.org>
12 hoursmk: skip *coreboot* same target/tree buildsLeah Rowe
this implements the previous reverted fix, but only for coreboot. it's done tree-wide, but individual projects must handle it in their mkhelpers, via if_not_skip_build if_not_skip_build *does* universally control whether make is executed, but not make-clean. now we can do: ./mk -b coreboot default this will effectively do the same thing as -d, because no config is available there. otherwise, we try to do -b with a config, where none exists. if noconfig is set, then we ignore this, because no config will ever be used. when noconfig isn't set, it is assumed that we must always have a config for building. Signed-off-by: Leah Rowe <leah@libreboot.org>
17 hoursRevert "mk: simplify release=n handling"Leah Rowe
This reverts commit 8c50373d5977d630626b14719977dc51a3ae2bdf.
18 hoursdon't build when tree=target on noconfig=nLeah Rowe
only do if config=y. this reintroduces a hack that i accidentally removed in the recent redesign. grub has been changed to noconfig=y, and the files for memdisk are now source from config/data/grub Signed-off-by: Leah Rowe <leah@libreboot.org>
18 hoursmk: simplify release=n handlingLeah Rowe
don't execute mkhelpers either skip is fetched. this means that if a given target says release=n, the corresponding source won't be downloaded. if no targets specify that source, then none will be. Signed-off-by: Leah Rowe <leah@libreboot.org>
20 hoursremove straggler (test code)Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
21 hoursxbmk: make all projects multi-treeLeah Rowe
we currently distinguish, by virtue of logic, multi- and single-tree projects. this introduces a lot of complexity, so the following patch has removed this distinction. all single-tree projects are now multi tree, but with only one tree. other design changes: config/git removed. rev/tree now handled with mkhelper and target configs. this allows per-tree remote handling, so we could (for example) add the mrchromebox coreboot fork easily, for specific chromebook models. config/project is now config/module/project. this cleans up the main config/ directory. cfgname variable: .config no longer hardcoded when doing configs in projects. it is configurable with this variable. if unset, the previous .cfg is used noconfig variable: set this in target/mkhelper configs, and config/module/project/tree/config/ is unused; instead, make is called without config copying. a "noconfig" placeholder is used. this enables cleaner usage of previously single-tree projects in the new multi-tree-only structure. cfgvars: variables reinitialised in project config are cleaned more reliably. in particular, several variables e.g. autogenargs were not being reset between projects, although the autogenargs variable is currently unused. general cleanup has been conducted across the build system, as part of this redesign. several parts of the build system more over-engineered as a result of the previous design, and the new design enabled a severe reduction in sloccount (75 lines reduced in lbmk). yes, this change *adds features* but there are fewer lines of code than before. this is the best kind of change. way better than the 3-line-diff. yes. rev= and tree= are set more centrally in configs. the mkhelper config can be used to set url/url_bkup, but individual trees can override them. configs have been cleaned up, with several variables now much more heavily centralised. config/git/ was used before to first download the bare repository, and then the real clone was made with patches. this allows git repositories to be cached for future re-builds. with config/git/ gone, the download logic for projects is more centrally implemented. a separate call to ./mk -f is no longer performed, and in fact ./mk -f never needs to be used anymore as a result. ./mk -f now is basically the same thing as -b, just without any action performed. this change will allow rapid expansion of the libreboot project. i want to add hundreds of chromebooks to the project, using mrchromebox, but the previous design did not permit this. this change means that i can easily have unlimited upstreams per project. coreboot will, in some follow-up changes, have the following upstreams: coreboot/default: coreboot.org coreboot/fam15h: 15h.org fork coreboot/chromebook: mrchromebox fork this can now be done freely without massive changes to the build system. under the previous design, i worked on a now-abandoned patch to do N remotes per project, reading repo links from a file. this meant that i'd have coreboot.org first (main and backup), then mrchromebox. this meant that lbmk would failover through to mrchromebox, wasting time for the user. this new design is much cleaner, and will enable the project to be maintained much more easily. Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysminor cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysrom.sh: remove redundant checkLeah Rowe
if_build / empty mode are a given here, since this is a premake function which only executes if the mode string is empty and/or if_build is empty Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysrom.sh: put coreboot dry checks in mkhelperLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysrom.sh: check grub dry build in mkhelperLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 dayspcsx-redux: check dry build in mkhelperLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 dayslib.sh: make build_sbase a macroLeah Rowe
sh macros are cool Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysxbmk: general cleanupLeah Rowe
note: mecleaner check removed in vendor.sh, because it's already guaranteed to be fetched. the check will never indicate failure, so we can just assume that the me cleaner python script exists. Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysrom.sh: simplify add_ubootLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysrom.sh: just remove the coreboot cook functionLeah Rowe
ccache isn't used at all in any of the configs ensuring that this remains the case is much cleaner. coreboot will never enable it by default, precisely because of how buggy it is. Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysinject.sh: simplify variable init and end messageLeah Rowe
the modified/not message is pointless, because the message indicating tarball rebuild will suffice variable initialisation simplified (global newvar) Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysrom.sh: simplify add_ubootLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysmk: add forx function for shorthand loopsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
4 daysrom.sh: disable ccache on coreboot buildsLeah Rowe
this fixes a build issue i was having on ./mk release, and it's also a preventative bug fix. instead of forcing it to be enabled, we now force it to be disabled. all current configs already disable it, and disabled is the default. just in case, disable it by force. i encountered build errors on ./mk release, due to stale build artifacts. i had no issues on normal lbmk.git, doing builds, but ./mk release builds everything in bulk. we want the release build process to be as reliable as possible. this won't actually affect build speed much, due to lbmk's design (clean builds before running make). work is needed upstream, to make ccache more reliable. ccache is fine when you're re-building the same board a lot, but there's just no way it can be used reliably when building lots of very different boards, where the code greatly differs in coreboot. Signed-off-by: Leah Rowe <leah@libreboot.org>
5 daysvendor.sh: minor cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
5 daysvariable ./mk location, based on user inputLeah Rowe
when calling ./mk, or from PATH, an absolute path is created to ./mk this will likely be different than mk, but it might be a different script. perhaps the operator is making a copy of the mk script temporarily - obviously not advised, no, but here we have a problem because then lbmk is still running ./mk everywhere run arg0 instead, now called "mk" ./mk is still hardcoded in release.sh, because we do need to make sure we're using the right script there Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysuse -mindepth alongside -maxdepth in findLeah Rowe
use of maxdepth 1 does not exclude the main directory, which is undesired in these contexts, though excluded in practise due to how find is actually used. technically, mindepth should be used, just in case, as a defensive measure. the context here is files and directories within a main directory, used as arguments in other commands. Signed-off-by: Leah Rowe <leah@libreboot.org>
8 dayssplit up include/Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>