Mercurial > hg > aboriginal
annotate cross-compiler.sh @ 143:17d06149802e
Only run the sanity check on the toolchain if the appropriate qemu is installed.
author | Rob Landley <rob@landley.net> |
---|---|
date | Fri, 30 Mar 2007 13:31:41 -0400 |
parents | 8c3d95f52237 |
children | 8c7bcb36dcf5 |
rev | line source |
---|---|
1
9add2b1ccdfa
First version of new build script. Does nothing, but does it correctly.
landley@driftwood
parents:
diff
changeset
|
1 #!/bin/sh |
9add2b1ccdfa
First version of new build script. Does nothing, but does it correctly.
landley@driftwood
parents:
diff
changeset
|
2 |
34
ad1cfcb043c7
Cleaup pass: Break out shell functions and variable definitions into include.sh.
Rob Landley <rob@landley.net>
parents:
33
diff
changeset
|
3 # Get lots of predefined environment variables and shell functions. |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
4 |
34
ad1cfcb043c7
Cleaup pass: Break out shell functions and variable definitions into include.sh.
Rob Landley <rob@landley.net>
parents:
33
diff
changeset
|
5 source include.sh |
1
9add2b1ccdfa
First version of new build script. Does nothing, but does it correctly.
landley@driftwood
parents:
diff
changeset
|
6 |
136
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
7 # A little debugging trick... |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
8 #CLEANUP=echo |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
9 |
96
137ba51ee993
Delete output directories on re-run, teach build to log and build multiple
Rob Landley <rob@landley.net>
parents:
93
diff
changeset
|
10 rm -rf "${CROSS}" |
41 | 11 mkdir -p "${CROSS}" || dienow |
12 | |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
13 # Orange |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
14 echo -e "\e[33m" |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
15 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
16 # Build and install binutils |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
17 |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
18 setupfor binutils build-binutils |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
19 "${CURSRC}/configure" --prefix="${CROSS}" --host=${CROSS_HOST} \ |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
20 --target=${CROSS_TARGET} --with-lib-path=lib --disable-nls \ |
59
18c065749b79
Add i686 and x86_64 config files. (Might or might not work, dunno.)
Rob Landley <rob@landley.net>
parents:
48
diff
changeset
|
21 --disable-shared --disable-multilib --program-prefix="${ARCH}-" \ |
18c065749b79
Add i686 and x86_64 config files. (Might or might not work, dunno.)
Rob Landley <rob@landley.net>
parents:
48
diff
changeset
|
22 $BINUTILS_FLAGS && |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
23 make configure-host && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
24 make && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
25 make install && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
26 cd .. && |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
27 mkdir -p "${CROSS}/include" && |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
28 cp binutils-*/include/libiberty.h "${CROSS}/include" && |
15
11b76d1cc1cd
Trying to build an arm toolchain (so I can test "hello world" with arm
Rob Landley <rob@landley.net>
parents:
9
diff
changeset
|
29 $CLEANUP binutils-* build-binutils |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
30 |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
31 [ $? -ne 0 ] && dienow |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
32 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
33 # Build and install gcc |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
34 |
8
0068264ad65a
Some work I did back in october but hadn't checked in yet: let setupfor()
Rob Landley <rob@landley.net>
parents:
3
diff
changeset
|
35 setupfor gcc-core build-gcc gcc- |
59
18c065749b79
Add i686 and x86_64 config files. (Might or might not work, dunno.)
Rob Landley <rob@landley.net>
parents:
48
diff
changeset
|
36 AR_FOR_TARGET="${ARCH}-ar" "${CURSRC}/configure" $GCC_FLAGS \ |
18c065749b79
Add i686 and x86_64 config files. (Might or might not work, dunno.)
Rob Landley <rob@landley.net>
parents:
48
diff
changeset
|
37 --prefix="${CROSS}" --host=${CROSS_HOST} --target=${CROSS_TARGET} \ |
18c065749b79
Add i686 and x86_64 config files. (Might or might not work, dunno.)
Rob Landley <rob@landley.net>
parents:
48
diff
changeset
|
38 --enable-languages=c --disable-threads --disable-multilib \ |
120
c91ceb05bc1c
Make host-tools not rebuild stuff that's already there, fix yet more corner
Rob Landley <rob@landley.net>
parents:
112
diff
changeset
|
39 --disable-nls --disable-shared --program-prefix="${ARCH}-" && |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
40 make all-gcc && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
41 make install-gcc && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
42 cd .. && |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
43 |
41 | 44 echo Fixup toolchain... && |
45 | |
136
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
46 # Write this out as a script snippet for debugging purposes. |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
47 |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
48 cat > fixup-toolchain.sh << EOF && |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
49 # Move the gcc internal libraries and headers somewhere sane. |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
50 |
21
c4e1bd04035d
Build uClibc under the wrapper script. (There's got to be a better way to
Rob Landley <rob@landley.net>
parents:
18
diff
changeset
|
51 mkdir -p "${CROSS}"/gcc && |
c4e1bd04035d
Build uClibc under the wrapper script. (There's got to be a better way to
Rob Landley <rob@landley.net>
parents:
18
diff
changeset
|
52 mv "${CROSS}"/lib/gcc/*/*/include "${CROSS}"/gcc/include && |
c4e1bd04035d
Build uClibc under the wrapper script. (There's got to be a better way to
Rob Landley <rob@landley.net>
parents:
18
diff
changeset
|
53 mv "${CROSS}"/lib/gcc/*/* "${CROSS}"/gcc/lib && |
136
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
54 $CLEANUP "${CROSS}"/{lib/gcc,gcc/lib/install-tools} && |
21
c4e1bd04035d
Build uClibc under the wrapper script. (There's got to be a better way to
Rob Landley <rob@landley.net>
parents:
18
diff
changeset
|
55 |
61 | 56 # Build and install gcc wrapper script. |
41 | 57 |
58 cd "${CROSS}"/bin && | |
59 mv "${ARCH}-gcc" gcc-unwrapped && | |
110
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
60 $CC -Os -s "${TOP}"/sources/toys/gcc-uClibc.c -o "${ARCH}-gcc" |
136
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
61 EOF |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
62 |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
63 # Run toolchain fixup and cleanup |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
64 |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
65 chmod +x fixup-toolchain.sh && |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
66 ./fixup-toolchain.sh && |
8c3d95f52237
Some tweaks to make toolchain debugging easier.
Rob Landley <rob@landley.net>
parents:
131
diff
changeset
|
67 $CLEANUP "${CURSRC}" build-gcc && |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
68 |
8
0068264ad65a
Some work I did back in october but hadn't checked in yet: let setupfor()
Rob Landley <rob@landley.net>
parents:
3
diff
changeset
|
69 [ $? -ne 0 ] && dienow |
0068264ad65a
Some work I did back in october but hadn't checked in yet: let setupfor()
Rob Landley <rob@landley.net>
parents:
3
diff
changeset
|
70 |
85
7c874da5505c
Switch config-linux to miniconfig-linux. Adjust the build and config scripts,
Rob Landley <rob@landley.net>
parents:
83
diff
changeset
|
71 # Install kernel headers. |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
72 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
73 setupfor linux |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
74 # Install Linux kernel headers (for use by uClibc). |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
75 make headers_install ARCH="${KARCH}" INSTALL_HDR_PATH="${CROSS}" && |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
76 cd .. && |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
77 $CLEANUP linux-* |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
78 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
79 [ $? -ne 0 ] && dienow |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
80 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
81 # Build and install uClibc |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
82 |
8
0068264ad65a
Some work I did back in october but hadn't checked in yet: let setupfor()
Rob Landley <rob@landley.net>
parents:
3
diff
changeset
|
83 setupfor uClibc |
131 | 84 make allnoconfig KCONFIG_ALLCONFIG="${WORK}"/miniconfig-uClibc && |
66
57f77c25b39d
Hit uClibc build with a large rock so it stops inserting hardwired paths in
Rob Landley <rob@landley.net>
parents:
61
diff
changeset
|
85 make CROSS="${ARCH}-" KERNEL_HEADERS="${CROSS}/include" PREFIX="${CROSS}/" \ |
57f77c25b39d
Hit uClibc build with a large rock so it stops inserting hardwired paths in
Rob Landley <rob@landley.net>
parents:
61
diff
changeset
|
86 RUNTIME_PREFIX=/ DEVEL_PREFIX=/ all install_runtime install_dev && |
110
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
87 # "make utils" in uClibc is broken for cross compiling. Either it creates a |
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
88 # target binary (which you can't run on the host), or it tries to link the |
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
89 # host binary against the target library, and use the target compiler flags |
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
90 # (neither of which is going to produce a working host binary). The solution |
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
91 # is to bypass the broken build entirely, and do it by hand. |
112
7889b25745fa
Beat on the build to make readelf and ldd build for cross-mipsel.
Rob Landley <rob@landley.net>
parents:
110
diff
changeset
|
92 make distclean && |
7889b25745fa
Beat on the build to make readelf and ldd build for cross-mipsel.
Rob Landley <rob@landley.net>
parents:
110
diff
changeset
|
93 make allnoconfig && |
120
c91ceb05bc1c
Make host-tools not rebuild stuff that's already there, fix yet more corner
Rob Landley <rob@landley.net>
parents:
112
diff
changeset
|
94 make CROSS= headers KERNEL_HEADERS=/usr/include && |
110
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
95 $CC -Os -s -I include utils/readelf.c -o readelf && |
62f6268ff61b
Build uClibc's readelf and ldd by hand to work around inadequate cross-compile
Rob Landley <rob@landley.net>
parents:
96
diff
changeset
|
96 $CC -Os -s -I ldso/include utils/ldd.c -o ldd && |
8
0068264ad65a
Some work I did back in october but hadn't checked in yet: let setupfor()
Rob Landley <rob@landley.net>
parents:
3
diff
changeset
|
97 cd .. && |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
98 $CLEANUP uClibc* |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
99 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
100 [ $? -ne 0 ] && dienow |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
101 |
38
297bb57cf74c
Apparently "" around EOF also disables variable substitution, not just ''.
Rob Landley <rob@landley.net>
parents:
36
diff
changeset
|
102 cat > "${CROSS}"/README << EOF && |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
103 Cross compiler for $ARCH |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
104 From http://landley.net/code/firmware |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
105 |
41 | 106 To use: Add the "bin" directory to your \$PATH, and use "$ARCH-gcc" as |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
107 your compiler. |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
108 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
109 The syntax used to build the Linux kernel is: |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
110 |
41 | 111 make ARCH=${KARCH} CROSS_COMPILE=${ARCH}- |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
112 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
113 EOF |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
114 |
48 | 115 # Strip everything |
116 | |
117 cd "$CROSS" | |
118 for i in `find bin -type f` `find "$CROSS_TARGET" -type f` | |
119 do | |
120 strip "$i" 2> /dev/null | |
121 done | |
122 #for i in `find lib -type f` `find gcc/lib -type f` | |
123 #do | |
124 # "${ARCH}-strip" "$i" 2> /dev/null | |
125 #done | |
126 | |
75
38e7e0cc3b9f
Build mksquashfs in the non-short cross-compiler, and use it at the end of
Rob Landley <rob@landley.net>
parents:
66
diff
changeset
|
127 echo -n creating "build/cross-compiler-${ARCH}".tar.bz2 && |
38e7e0cc3b9f
Build mksquashfs in the non-short cross-compiler, and use it at the end of
Rob Landley <rob@landley.net>
parents:
66
diff
changeset
|
128 cd "${BUILD}" |
38e7e0cc3b9f
Build mksquashfs in the non-short cross-compiler, and use it at the end of
Rob Landley <rob@landley.net>
parents:
66
diff
changeset
|
129 { tar cjvf "cross-compiler-${ARCH}".tar.bz2 cross-compiler-"${ARCH}" || dienow |
41 | 130 } | dotprogress |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
131 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
132 [ $? -ne 0 ] && dienow |
39
c12b04caa0c1
Apparently, the exit value of a successful build is 1 because [ $? -ne 0 ]
Rob Landley <rob@landley.net>
parents:
38
diff
changeset
|
133 |
93
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
134 # A quick hello world program to test the cross-compiler out. |
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
135 # Build hello.c dynamic, then static, to verify header/library paths. |
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
136 |
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
137 "${ARCH}-gcc" -Os "${SOURCES}/toys/hello.c" -o "$WORK"/hello && |
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
138 "${ARCH}-gcc" -Os -static "${SOURCES}/toys/hello.c" -o "$WORK"/hello && |
143
17d06149802e
Only run the sanity check on the toolchain if the appropriate qemu is installed.
Rob Landley <rob@landley.net>
parents:
136
diff
changeset
|
139 if which qemu-"${QEMU_TEST}" > dev/null |
17d06149802e
Only run the sanity check on the toolchain if the appropriate qemu is installed.
Rob Landley <rob@landley.net>
parents:
136
diff
changeset
|
140 then |
17d06149802e
Only run the sanity check on the toolchain if the appropriate qemu is installed.
Rob Landley <rob@landley.net>
parents:
136
diff
changeset
|
141 [ x"$(qemu-"${QEMU_TEST}" "${WORK}"/hello)" == x"Hello world!" ] && |
17d06149802e
Only run the sanity check on the toolchain if the appropriate qemu is installed.
Rob Landley <rob@landley.net>
parents:
136
diff
changeset
|
142 echo Cross-toolchain seems to work. |
17d06149802e
Only run the sanity check on the toolchain if the appropriate qemu is installed.
Rob Landley <rob@landley.net>
parents:
136
diff
changeset
|
143 fi |
93
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
144 |
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
145 [ $? -ne 0 ] && dienow |
153ba1a0b427
Break out the qemu build (and squashfs) into something easy to comment out,
Rob Landley <rob@landley.net>
parents:
88
diff
changeset
|
146 |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
147 echo -e "\e[32mCross compiler toolchain build complete.\e[0m" |