root/chumby/toolchain.sh

リビジョン 49, 2.6 kB (コミッタ: sgk, コミット時期: 9 ヶ月 前)

Toolchainをリビルドするスクリプト。

  • svn:executable 属性の設定値: *
Line 
1 #!/bin/sh
2
3 DST="/usr/local/chumby"
4
5 SDK="arm-linux-v4.1.2b.tar.gz"
6 SDKSUM="9d63bec835d8ced1f22ae9001b0debfb"
7 SDKURL="http://files.chumby.com/toolchain/arm-linux-v4.1.2b.tar.gz"
8
9 BINUTILS="binutils-2.18.tar.bz2"
10 BINUTILSSUM="9d22ee4dafa3a194457caf4706f9cf01"
11 BINUTILSURL="http://core.ring.gr.jp/pub/GNU/binutils/binutils-2.18.tar.bz2"
12 BINUTILSDIR="binutils-2.18"
13
14 GCC="gcc-4.1.2.tar.bz2"
15 GCCSUM="a4a3eb15c96030906d8494959eeda23c"
16 GCCURL="http://core.ring.gr.jp/pub/GNU/gcc/gcc-4.1.2/gcc-4.1.2.tar.bz2"
17 GCCDIR="gcc-4.1.2"
18 #GCC="gcc-4.2.3.tar.bz2"
19 #GCCSUM="ef2a4d9991b3644115456ea05b2b8163"
20 #GCCURL="http://core.ring.gr.jp/pub/GNU/gcc/gcc-4.2.3/gcc-4.2.3.tar.bz2"
21 #GCCDIR="gcc-4.2.3"
22
23 if [ ! -d toolchain ]; then
24   mkdir toolchain
25 fi
26 cd toolchain
27
28 download()
29 {
30   echo "Checking \"$1\"..."
31   [ -f "$1" ] && [ `md5sum "$1" | awk '{print $1}'` != "$2" ] && rm -f "$1"
32   if [ ! -f "$1" ]; then
33     wget -O "$1" "$3"
34     if [ `md5sum "$1" | awk '{print $1}'` != "$2" ]; then
35       echo $1: checksum error
36       exit 1
37     fi
38   fi
39 }
40
41 download $SDK $SDKSUM $SDKURL
42 download $BINUTILS $BINUTILSSUM $BINUTILSURL
43 download $GCC $GCCSUM $GCCURL
44
45 #
46 #
47 #
48
49 SYSROOT="$DST/sysroot"
50
51 echo "Extracting SDK..."
52 rm -rf sdk
53 mkdir sdk
54 (
55   cd sdk
56   tar xzf "../$SDK"
57 )
58
59 echo "Collecting sysroot files..."
60 echo "SUDOing to mkdir \"$DST\"; supply password if asked."
61 sudo mkdir -p "$DST"
62 sudo chown "`whoami`" "$DST"
63 rm -rf "$SYSROOT"
64 mkdir -p "$SYSROOT"
65
66 cp -aT sdk/usr/arm-linux/lib "$SYSROOT/lib"
67 mkdir "$SYSROOT/usr"
68 cp -aT sdk/usr/arm-linux/include "$SYSROOT/usr/include"
69 cp -aT sdk/usr/arm-linux/sys-include/asm-arm "$SYSROOT/usr/include/asm"
70 cp -aT sdk/usr/arm-linux/sys-include/linux "$SYSROOT/usr/include/linux"
71 cp -aT sdk/usr/arm-linux/sys-include/mtd "$SYSROOT/usr/include/mtd"
72 cp -aT sdk/usr/arm-linux/sys-include/sound "$SYSROOT/usr/include/sound"
73 ln -s .. "$SYSROOT/usr/arm-linux"
74 ln -s ../lib "$SYSROOT/usr/lib"
75
76
77 #
78 #
79 #
80
81 echo "Extracting binutils..."
82 rm -rf "$BINUTILSDIR"
83 tar xjf "$BINUTILS"
84 rm -rf binutils
85 mkdir binutils
86 (
87   cd binutils
88   echo "Configuring binutils..."
89   "../$BINUTILSDIR/configure" --prefix="$DST" --target=arm-linux --with-sysroot="$SYSROOT" 2>&1 > configure.log
90   echo "Building binutils..."
91   make 2>&1 > make.log
92   echo "Installing binutils..."
93   make install 2>&1 > install.log
94 )
95
96 echo "Extracting GCC..."
97 rm -rf "$GCCDIR"
98 tar xjf "$GCC"
99 rm -rf gcc
100 mkdir gcc
101 (
102   cd gcc
103   echo "Configuring GCC..."
104   "../$GCCDIR/configure" --prefix="$DST" --target=arm-linux --enable-languages=c,c++ --with-sysroot="$SYSROOT" 2>&1 > configure.log
105   echo "Building GCC..."
106   make 2>&1 > make.log
107   echo "Installing GCC..."
108   make install 2>&1 > install.log
109 )
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。