Mercurial > hg > aboriginal
annotate cross-compiler.sh @ 59:18c065749b79
Add i686 and x86_64 config files. (Might or might not work, dunno.)
Work around a gcc bug where building x86 on x86 isn't considered a cross
compiler (and thus doesn't have prefixes on tool names, so it tries to use
host's glibc+threads ld with uClibc+nothreads gcc, which doesn't work).
Workaround: build binutils and gcc with --program-prefix="${ARCH}-". Fix
up fallout: remove renaming loop in cross-compiler.sh. Also, work around yet
another gcc bug (wants to use ${CROSS}-ar instead of ${ARCH}-ar during build
when names change this early.) i686 uClibc toolchain builds now
(cross-compiler at least).
author | Rob Landley <rob@landley.net> |
---|---|
date | Sat, 23 Dec 2006 02:49:48 -0500 |
parents | 0f77e2472d27 |
children | eb42ad9e8f81 |
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 |
41 | 7 mkdir -p "${CROSS}" || dienow |
8 | |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
9 # Orange |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
10 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
|
11 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
12 # 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
|
13 |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
14 setupfor binutils build-binutils |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
15 "${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
|
16 --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
|
17 --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
|
18 $BINUTILS_FLAGS && |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
19 make configure-host && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
20 make && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
21 make install && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
22 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
|
23 mkdir -p "${CROSS}/include" && |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
24 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
|
25 $CLEANUP binutils-* build-binutils |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
26 |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
27 [ $? -ne 0 ] && dienow |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
28 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
29 # 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
|
30 |
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
|
31 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
|
32 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
|
33 --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
|
34 --enable-languages=c --disable-threads --disable-multilib \ |
18c065749b79
Add i686 and x86_64 config files. (Might or might not work, dunno.)
Rob Landley <rob@landley.net>
parents:
48
diff
changeset
|
35 --disable-nls --disable-shared $GCC_FLAGS --program-prefix="${ARCH}-" && |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
36 make all-gcc && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
37 make install-gcc && |
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
38 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
|
39 |
41 | 40 echo Fixup toolchain... && |
41 | |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
42 # 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
|
43 |
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
|
44 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
|
45 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
|
46 mv "${CROSS}"/lib/gcc/*/* "${CROSS}"/gcc/lib && |
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
|
47 $CLEANUP "${CURSRC}" build-gcc "${CROSS}"/{lib/gcc,gcc/lib/install-tools} && |
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
|
48 |
41 | 49 # Change the FSF's crazy names to something reasonable. |
50 | |
51 cd "${CROSS}"/bin && | |
52 | |
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
|
53 # Build and install gcc wrapper script. |
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
|
54 |
41 | 55 mv "${ARCH}-gcc" gcc-unwrapped && |
56 gcc "${TOP}"/sources/toys/gcc-uClibc.c -Os -s -o "${ARCH}-gcc" | |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
57 |
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
|
58 [ $? -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
|
59 |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
60 # Install the linux kernel, and kernel headers. |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
61 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
62 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
|
63 # 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
|
64 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
|
65 cd .. && |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
66 $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
|
67 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
68 [ $? -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
|
69 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
70 # 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
|
71 |
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
|
72 setupfor uClibc |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
73 cp "${WORK}"/config-uClibc .config && |
41 | 74 (yes "" | make CROSS="${ARCH}-" oldconfig) > /dev/null && |
75 make CROSS="${ARCH}-" KERNEL_HEADERS="${CROSS}/include" \ | |
76 RUNTIME_PREFIX="${CROSS}/" DEVEL_PREFIX="${CROSS}/" \ | |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
77 all install_runtime install_dev && |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
78 # This needs to be built with the native compiler. Since uClibc uses $CROSS |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
79 # internally, we have to blank it to avoid confusing them. |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
80 #CROSS= make KERNEL_HEADERS="${CROSS}/include" \ |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
81 # RUNTIME_PREFIX="${CROSS}/" DEVEL_PREFIX="${CROSS}/" install_utils && |
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
|
82 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
|
83 $CLEANUP uClibc* |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
84 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
85 [ $? -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
|
86 |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
87 # Skip this part if we're doing a short build. |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
88 |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
89 if [ -z "${BUILD_SHORT}" ] |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
90 then |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
91 |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
92 # Build qemu |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
93 setupfor qemu && |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
94 ./configure --disable-gcc-check --prefix="${CROSS}" && |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
95 make && |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
96 make install && |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
97 cd .. && |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
98 $CLEANUP qemu-* |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
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 # A quick hello world program to test the cross-compiler out. |
17
1202bdb44025
Build for the wrapper script. (Which still doesn't work right.)
Rob Landley <rob@landley.net>
parents:
15
diff
changeset
|
101 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
102 cat > "$WORK"/hello.c << 'EOF' && |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
103 #include <stdio.h> |
17
1202bdb44025
Build for the wrapper script. (Which still doesn't work right.)
Rob Landley <rob@landley.net>
parents:
15
diff
changeset
|
104 |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
105 int main(int argc, char *argv[]) |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
106 { |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
107 printf("Hello world!\n"); |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
108 return 0; |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
109 } |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
110 EOF |
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
111 |
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 # Build hello.c dynamic, then static, to verify header/library paths. |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
113 |
41 | 114 "${ARCH}-gcc" -Os "$WORK"/hello.c -o "$WORK"/hello && |
115 "${ARCH}-gcc" -Os -static "$WORK"/hello.c -o "$WORK"/hello && | |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
116 [ x"$(qemu-"${KARCH}" "${WORK}"/hello)" == x"Hello world!" ] && |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
117 echo Cross-toolchain seems to work. |
17
1202bdb44025
Build for the wrapper script. (Which still doesn't work right.)
Rob Landley <rob@landley.net>
parents:
15
diff
changeset
|
118 |
3
1b721a51e9c6
Extract headers, build cross-binutils, build cross-gcc. Needs a C library.
landley@driftwood
parents:
1
diff
changeset
|
119 [ $? -ne 0 ] && dienow |
18
eaf7a8d5e697
Managed to get a working toolchain, with wrapper script, to build a hello
Rob Landley <rob@landley.net>
parents:
17
diff
changeset
|
120 |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
121 fi |
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
122 |
38
297bb57cf74c
Apparently "" around EOF also disables variable substitution, not just ''.
Rob Landley <rob@landley.net>
parents:
36
diff
changeset
|
123 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
|
124 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
|
125 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
|
126 |
41 | 127 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
|
128 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
|
129 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
130 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
|
131 |
41 | 132 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
|
133 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
134 EOF |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
135 |
48 | 136 # Strip everything |
137 | |
138 cd "$CROSS" | |
139 for i in `find bin -type f` `find "$CROSS_TARGET" -type f` | |
140 do | |
141 strip "$i" 2> /dev/null | |
142 done | |
143 #for i in `find lib -type f` `find gcc/lib -type f` | |
144 #do | |
145 # "${ARCH}-strip" "$i" 2> /dev/null | |
146 #done | |
147 | |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
148 echo -n creating cross-compiler-"${ARCH}".tar.bz2 && |
33
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
149 cd "${TOP}" |
41 | 150 { tar cjvCf build cross-compiler-"${ARCH}".tar.bz2 cross-compiler-"${ARCH}" || |
151 dienow | |
152 } | 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
|
153 |
bf2e771f4ba5
Update build script. Now uses a config file (usage: ./build.sh arch), and
Rob Landley <rob@landley.net>
parents:
27
diff
changeset
|
154 [ $? -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
|
155 |
47
edaa86240321
Turnerize the build script and teach cross-compile.sh to build qemu when
Rob Landley <rob@landley.net>
parents:
41
diff
changeset
|
156 echo -e "\e[32mCross compiler toolchain build complete.\e[0m" |