Mercurial > hg > aboriginal
annotate build.sh @ 719:428df726cf7f
Have system-image.sh do its own setsid variant so when it does dienow() it can kill all its own backgrounded processes, but won't take down the parent shell that ran it.
author | Rob Landley <rob@landley.net> |
---|---|
date | Fri, 24 Apr 2009 22:33:31 -0500 |
parents | 20ba34b54140 |
children | 759adf5a0fe9 |
rev | line source |
---|---|
96
137ba51ee993
Delete output directories on re-run, teach build to log and build multiple
Rob Landley <rob@landley.net>
parents:
93
diff
changeset
|
1 #!/bin/bash |
137ba51ee993
Delete output directories on re-run, teach build to log and build multiple
Rob Landley <rob@landley.net>
parents:
93
diff
changeset
|
2 |
114
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
3 # If run with no arguments, list architectures. |
108
b66d638a3844
Build User Mode Linux and have that do the ext2 packaging (for now, anyway).
Rob Landley <rob@landley.net>
parents:
105
diff
changeset
|
4 |
114
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
5 if [ $# -eq 0 ] |
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
6 then |
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
7 echo "Usage: $0 ARCH [ARCH...]" |
503
e98ed40c55ef
Move include.sh to sources/include.sh. End user doesn't call it directly, shouldn't be at top level.
Rob Landley <rob@landley.net>
parents:
352
diff
changeset
|
8 sources/include.sh |
118
85582f847bd6
When run with no arguments, exit after showing usage message.
Rob Landley <rob@landley.net>
parents:
114
diff
changeset
|
9 exit 1 |
114
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
10 fi |
108
b66d638a3844
Build User Mode Linux and have that do the ext2 packaging (for now, anyway).
Rob Landley <rob@landley.net>
parents:
105
diff
changeset
|
11 |
114
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
12 # Download source code and build host tools. |
108
b66d638a3844
Build User Mode Linux and have that do the ext2 packaging (for now, anyway).
Rob Landley <rob@landley.net>
parents:
105
diff
changeset
|
13 |
114
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
14 ./download.sh || exit 1 |
262
b2e353ae7566
Have host-tools populate build/host with 1) toybox, 2) all the remaining
Rob Landley <rob@landley.net>
parents:
186
diff
changeset
|
15 |
b2e353ae7566
Have host-tools populate build/host with 1) toybox, 2) all the remaining
Rob Landley <rob@landley.net>
parents:
186
diff
changeset
|
16 # host-tools populates one directory with every command the build needs, |
b2e353ae7566
Have host-tools populate build/host with 1) toybox, 2) all the remaining
Rob Landley <rob@landley.net>
parents:
186
diff
changeset
|
17 # so we can ditch the old $PATH afterwards. |
b2e353ae7566
Have host-tools populate build/host with 1) toybox, 2) all the remaining
Rob Landley <rob@landley.net>
parents:
186
diff
changeset
|
18 |
186
f8dac531cbb5
Use shell builtin time instead of /usr/bin version not everybody has.
Rob Landley <rob@landley.net>
parents:
184
diff
changeset
|
19 time ./host-tools.sh || exit 1 |
114
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
20 |
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
21 # Run the steps in order for each architecture listed on the command line |
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
22 for i in "$@" |
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
23 do |
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
24 echo "=== Building ARCH $i" |
539
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
25 |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
26 if [ -f "build/cross-compiler-$i.tar.bz2" ] |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
27 then |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
28 echo "=== Skipping cross-compiler-$i (already there)" |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
29 else |
711
20ba34b54140
Rename mini-native.sh to root-filesystem.sh, since that's what it builds.
Rob Landley <rob@landley.net>
parents:
699
diff
changeset
|
30 rm -rf "build/root-filesystem-$i.tar.bz2" |
539
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
31 time ./cross-compiler.sh $i || exit 1 |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
32 fi |
155
ce1ca3d0f95b
Put zImage-$ARCH in build directory, not mini-native-$ARCH, and eliminate
Rob Landley <rob@landley.net>
parents:
118
diff
changeset
|
33 echo "=== native ($i)" |
711
20ba34b54140
Rename mini-native.sh to root-filesystem.sh, since that's what it builds.
Rob Landley <rob@landley.net>
parents:
699
diff
changeset
|
34 if [ -f "build/root-filesystem-$i.tar.bz2" ] |
539
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
35 then |
711
20ba34b54140
Rename mini-native.sh to root-filesystem.sh, since that's what it builds.
Rob Landley <rob@landley.net>
parents:
699
diff
changeset
|
36 echo "=== Skipping root-filesystem-$i (already there)" |
539
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
37 else |
690 | 38 rm -rf "build/system-image-$i.tar.bz2" |
711
20ba34b54140
Rename mini-native.sh to root-filesystem.sh, since that's what it builds.
Rob Landley <rob@landley.net>
parents:
699
diff
changeset
|
39 time ./root-filesystem.sh $i || exit 1 |
539
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
40 fi |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
41 |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
42 if [ -f "build/system-image-$i.tar.bz2" ] |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
43 then |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
44 echo "=== Skipping system-image-$i (already there)" |
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
45 else |
719
428df726cf7f
Have system-image.sh do its own setsid variant so when it does dienow() it can kill all its own backgrounded processes, but won't take down the parent shell that ran it.
Rob Landley <rob@landley.net>
parents:
711
diff
changeset
|
46 time ./system-image.sh $i || exit 1 |
539
85979aa53fde
Teach build.sh not to rerun build stages we already have the result of.
Rob Landley <rob@landley.net>
parents:
503
diff
changeset
|
47 fi |
114
304fd441e6a4
Re-teach build.sh to build more than one architecture in sequence.
Rob Landley <rob@landley.net>
parents:
108
diff
changeset
|
48 done |