Initial commit.

$ ./build-flashrom -h
Usage:
/build-flashrom [-b buildbot] [-s sourcepath] [-c compiler]... [flashrom build options]

Options
    -h or --help
        Display this message.
    -b or --buildbot
        path to buildbot home directory
    -s or --source
        path to flashrom sources to build
    -c or --compiler
        adds a compiler to the list of compilers to use (replaces the default list, can be given multiple times)

Based on Carl-Daniel's initial buildbot scripts.

Signed-off-by: Stefan Tauner <stefan.tauner@gmx.at>
Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Add -p/--private option
Print which and how mandy builds failed, and return this number
Fix handling of flashrom options.

Signed-off-by: Stefan Tauner <stefan.tauner@gmx.at>
Add dry-run option
Add compiler aliases and support for libpayload
Write build summary into file
Fix libpayload compilation by using crossgcc.

 Please enter the commit message for your changes. Lines starting
Create symlinks for latest build results.
Add NetBSD support
Add DragonFlyBSD support
Refactor VM handling completely.

 - Move all exteral files into functions in build-flashrom.
 - Refactor and simplify most of the old VM-related code.
 - Localize variables if possible
 - Store VM IPs and names as well as shutdown commands in associative array.
 - Add timeouts for VM startup and shutdown.
Refine shutdown handling of VMs

If we did not start it, dont shut it down.
Try to save the VM state instead of shutting down first.
If we time out, enforce power-off with VBoxManage.
Use new flashrom build parameter DOSLIBS_BASE

Needed to put each build process into its own working directory.
Execute every build in its own work directory

Also, cleanup work dirs properly and the source dir only once in the beginning.
Parallelize builds

Introduce a -j parameter similar to Make.
The default (w/o -j) is 16 threads.
Serialized execution as before possible with -j 1
Convenience script to "savestate" all VMs at once
Add no-cleanup parameter

Also, make the precedence of logical operators in the main loop more obvious.