view buildall.sh @ 654:fa2498e3b3c9

Make a config option for the cross compiler smoke test. The problem is that recent kernel upgrades broke qemu-arm (application emulation, not system emulation), so it can't run anything unless you "echo 0 > /proc/sys/vm/mmap_min_addr" as root. Fun.
author Rob Landley <rob@landley.net>
date Thu, 26 Mar 2009 15:32:31 -0500
parents 0e8a887f9d8b
children 1cf41855bb85
line wrap: on
line source

#!/bin/bash

# Build every target architecture, creating out-$ARCH.txt log files.
# If $FORK is set, build them in parallel.

. sources/functions.sh

# Build one architecture, capturing log output.

buildit()
{
  (time ./build.sh $1) 2>&1 | tee out-$1.txt
}

# Build in the background or foreground depending on $FORK

buildlog()
{
  [ ! -z "$FORK" ] && (buildit $i | grep '^===' &) || buildit $i
}

# Perform initial setup that doesn't parallelize well.  Download source,
# build host tools, extract source.

(./download.sh && ./host-tools.sh && ./download.sh --extract ) 2>&1 | tee out-host.txt

# Create README file (requires build/sources to be extracted)

(do_readme && cat sources/toys/README.footer) | tee build/README

# Build architectures

for i in $(cd sources/targets/; ls | grep -v '^hw-')
do
  buildlog $i
done

# Wait for architectures to complete

wait4background 0

# Now build hardware targets

for i in $(cd sources/targets; ls | grep '^hw-')
do
  buildlog $i
done

# Wait for hardware targets to complete

wait4background 0