Mercurial > hg > aboriginal
annotate sources/more/buildall.sh @ 1118:62e2321619e2
Leftover debris from buildall.sh breakup (1114).
author | Rob Landley <rob@landley.net> |
---|---|
date | Wed, 16 Jun 2010 08:14:27 -0500 |
parents | be94bf38648b |
children | 87a8efd61d54 |
rev | line source |
---|---|
610
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
1 #!/bin/bash |
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
2 |
902
ab47c4944591
Make buildall.sh do less host-specific work before allowing parallel builds to start.
Rob Landley <rob@landley.net>
parents:
885
diff
changeset
|
3 # Build every target architecture, creating build-$ARCH.txt log files. |
610
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
4 # If $FORK is set, build them in parallel. |
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
5 |
669 | 6 . sources/functions.sh || exit 1 |
610
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
7 |
944
fc134a13357e
Largeish refactoring and cleanup of compiler build:
Rob Landley <rob@landley.net>
parents:
922
diff
changeset
|
8 [ -z "$STATIC_CC_HOST" ] && export STATIC_CC_HOST=i686 |
778
e373d2b6d0b8
Add killtree and make stuff use it. Update smoketest-all.sh to use doforklog, allowing FORK=1 to run stuff in parallel.
Rob Landley <rob@landley.net>
parents:
776
diff
changeset
|
9 |
e373d2b6d0b8
Add killtree and make stuff use it. Update smoketest-all.sh to use doforklog, allowing FORK=1 to run stuff in parallel.
Rob Landley <rob@landley.net>
parents:
776
diff
changeset
|
10 trap "killtree $$" EXIT |
e373d2b6d0b8
Add killtree and make stuff use it. Update smoketest-all.sh to use doforklog, allowing FORK=1 to run stuff in parallel.
Rob Landley <rob@landley.net>
parents:
776
diff
changeset
|
11 |
787
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
12 # Build the host architecture. This has to be built first so the other |
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
13 # architectures can canadian cross static compilers to run on the host using |
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
14 # this toolchain to link against a host version of uClibc. |
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
15 |
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
16 # This also performs the download.sh and host-tools.sh steps, which don't |
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
17 # parallelize well if many build.sh instances try to call them at once. |
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
18 |
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
19 # If this fails, don't bother trying to build the other targets. |
610
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
20 |
755 | 21 blank_tempdir build |
787
23bff7aa79eb
Teach buildall.sh to use new build.sh infrastructure, and replace doforklog with orthogonal maybe_fork and maybe_quiet functions.
Rob Landley <rob@landley.net>
parents:
778
diff
changeset
|
22 mkdir -p build/logs && |
962
3d2261361009
Remove the --extract option from download.sh, since EXTRACT_ALL=1 does the same thing and everything _else_ is controlled by environment variables. At it to the config file and adjust existing users.
Rob Landley <rob@landley.net>
parents:
954
diff
changeset
|
23 (EXTRACT_ALL=1 ./download.sh 2>&1 && |
902
ab47c4944591
Make buildall.sh do less host-specific work before allowing parallel builds to start.
Rob Landley <rob@landley.net>
parents:
885
diff
changeset
|
24 ./host-tools.sh 2>&1 && |
945
71456bd138eb
Fix buildall.sh to use the new script name.
Rob Landley <rob@landley.net>
parents:
944
diff
changeset
|
25 ./simple-cross-compiler.sh 2>&1 "$STATIC_CC_HOST" || |
902
ab47c4944591
Make buildall.sh do less host-specific work before allowing parallel builds to start.
Rob Landley <rob@landley.net>
parents:
885
diff
changeset
|
26 dienow) | tee build/logs/build-host-cc.txt | maybe_quiet |
630
0e8a887f9d8b
buildall.sh should create the README file in the output directory.
Rob Landley <rob@landley.net>
parents:
610
diff
changeset
|
27 |
885
06f80138cb90
Add MANIFEST file to buildall.sh output.
Rob Landley <rob@landley.net>
parents:
852
diff
changeset
|
28 cp packages/MANIFEST build || dienow |
06f80138cb90
Add MANIFEST file to buildall.sh output.
Rob Landley <rob@landley.net>
parents:
852
diff
changeset
|
29 |
916
991a74436235
Build the rest of cross-static's host arch along with other architectures, and move hw- targets to explicitly build after non-hw targets.
Rob Landley <rob@landley.net>
parents:
902
diff
changeset
|
30 # Build all non-hw targets, possibly in parallel |
717
5a3ebc77340c
Teach buildall.sh to canadian cross static cross compilers with --enable-shared and uClibc++ when you set "$CROSS_COMPILERS_EH".
Rob Landley <rob@landley.net>
parents:
669
diff
changeset
|
31 |
1114
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
32 sources/more/for-each-target.sh \ |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
33 './build.sh $TARGET 2>&1 | tee build/logs/build-${TARGET}.txt' |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
34 |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
35 # Run smoketest.sh for each non-hw target. |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
36 |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
37 sources/more/for-each-target.sh \ |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
38 './smoketest.sh $TARGET 2>&1 | tee build/logs/smoketest-$TARGET.txt' |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
39 |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
40 sources/more/build-control-images.sh |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
41 |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
42 # Build all control images |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
43 |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
44 mkdir -p build/control-images || dienow |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
45 for i in sources/native-builds/*.sh |
610
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
46 do |
1114
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
47 X=$(echo $i | sed 's@.*/\(.*\)\.sh@\1@') |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
48 maybe_fork "$i build/control-images/${X}.hdc | maybe_quiet" |
610
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
49 done |
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
50 |
773
2b9e8af90917
Remove wait4background, the shell has a builtin "wait" and we don't care about non-zero wait counts anymore.
Rob Landley <rob@landley.net>
parents:
769
diff
changeset
|
51 wait |
610
a47844b73616
New simple buildall.sh that's a wrapper around build.sh. (Chop out half of build-all-targets, need to make a separate script to build static toolchains.)
Rob Landley <rob@landley.net>
parents:
diff
changeset
|
52 |
1114
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
53 # Build static-tools (dropbear and strace) for each target |
744
759adf5a0fe9
Refactor so include.sh mostly just sets environment variables. Move read_arch_dir to function and call it explicitly (no more need for $NO_ARCH). Make blank_tempdir a function, called explicitly by stages when needed, with some sanity checks. Insert prerequisite tests to later stages so they can detect failure early and provide an explicit erro rmessage, and have those tests happen before blanking $WORK dir, to preserve debugging info. Make buildall.sh depend on prerequisite tests rather than trying to avoid calling later stages (and thus do flow control from asynchronous context). Add FAIL_QUIET option so buildall.sh doesn't spam the log with the new prerequisite error messages.
Rob Landley <rob@landley.net>
parents:
736
diff
changeset
|
54 |
972 | 55 mkdir -p build/native-static && |
1114
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
56 sources/more/for-each-target.sh \ |
be94bf38648b
Break up buildall.sh so it's easier to run individual portions of it.
Rob Landley <rob@landley.net>
parents:
1103
diff
changeset
|
57 'sources/more/timeout.sh 60 "(cd build/system-image-$TARGET && ln -s ../native-static upload && ./native-build.sh ../control-images/static-tools.hdc) | tee build/logs/native-$TARGET.txt"' |
974
51a8a0076c9d
Oops. Wait for native build to finish before exiting.
Rob Landley <rob@landley.net>
parents:
972
diff
changeset
|
58 |
852
6ecee01bffa6
Update paths and comments in cronjob.sh, rename "none" to "stable", minor cleanup to logging.
Rob Landley <rob@landley.net>
parents:
850
diff
changeset
|
59 # Create a file containing simple pass/fail results for all architectures. |
6ecee01bffa6
Update paths and comments in cronjob.sh, rename "none" to "stable", minor cleanup to logging.
Rob Landley <rob@landley.net>
parents:
850
diff
changeset
|
60 |
6ecee01bffa6
Update paths and comments in cronjob.sh, rename "none" to "stable", minor cleanup to logging.
Rob Landley <rob@landley.net>
parents:
850
diff
changeset
|
61 sources/more/smoketest-all.sh --logs | tee build/logs/status.txt |