summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNils Wallménius <nils@rockbox.org>2011-01-06 14:56:36 +0000
committerNils Wallménius <nils@rockbox.org>2011-01-06 14:56:36 +0000
commit50b151adcb1c374a2c12b8070a5eb57dbbf75693 (patch)
tree8b2987d1624bef991d6098e04162ebbb9865500f
parentb5b41e9f687d123a2bfb076e642d7b1ae6dcb393 (diff)
downloadrockbox-50b151adcb1c374a2c12b8070a5eb57dbbf75693.tar.gz
rockbox-50b151adcb1c374a2c12b8070a5eb57dbbf75693.zip
rockboxdev.sh:
Prepare for compiler upgrade by adding support for building the mpc lib that gcc 4.5 needs. Switch mirror so that we can use the "infrastructure" dir set up with all the libs gcc depends on in the correct versions. Use these versions (meaning 4.3.2 of gmp is used instead of 5.0.1 now but should be functionally equivalent). Fix a small typo while at it. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28974 a1c6a512-1295-4272-9138-f99709370657
-rwxr-xr-xtools/rockboxdev.sh41
1 files changed, 25 insertions, 16 deletions
diff --git a/tools/rockboxdev.sh b/tools/rockboxdev.sh
index 27906da26a..6909cf1eaa 100755
--- a/tools/rockboxdev.sh
+++ b/tools/rockboxdev.sh
@@ -30,11 +30,11 @@ else
30fi 30fi
31 31
32if [ -z $GNU_MIRROR ] ; then 32if [ -z $GNU_MIRROR ] ; then
33 GNU_MIRROR=http://mirrors.kernel.org/gnu 33 GNU_MIRROR=ftpmirror.gnu.org
34fi 34fi
35 35
36# These are the tools this script requires and depends upon. 36# These are the tools this script requires and depends upon.
37reqtools="gcc bzip2 make patch makeinfo" 37reqtools="gcc bzip2 gzip make patch makeinfo"
38 38
39############################################################################## 39##############################################################################
40# Functions: 40# Functions:
@@ -95,19 +95,19 @@ build() {
95 version="$3" 95 version="$3"
96 patch="$4" 96 patch="$4"
97 configure_params="$5" 97 configure_params="$5"
98 needs_gmp="$6" 98 needs_libs="$6"
99 99
100 patch_url="http://www.rockbox.org/gcc" 100 patch_url="http://www.rockbox.org/gcc"
101 101
102 case $toolname in 102 case $toolname in
103 gcc) 103 gcc)
104 file="gcc-core-$version.tar.bz2" 104 file="gcc-core-$version.tar.bz2"
105 url="$GNU_MIRROR/gcc/gcc-$version" 105 url="$GNU_MIRROR/gcc/releases/gcc-$version"
106 ;; 106 ;;
107 107
108 binutils) 108 binutils)
109 file="binutils-$version.tar.bz2" 109 file="binutils-$version.tar.bz2"
110 url="$GNU_MIRROR/binutils" 110 url="$GNU_MIRROR/binutils/releases/"
111 ;; 111 ;;
112 112
113 *) 113 *)
@@ -157,26 +157,35 @@ build() {
157 fi 157 fi
158 fi 158 fi
159 159
160 # kludge to avoid having to install GMP and MPFR for new gcc 160 # kludge to avoid having to install GMP, MPFR and MPC, for new gcc
161 if test -n "$needs_gmp"; then 161 if test -n "$needs_libs"; then
162 cd "gcc-$version" 162 cd "gcc-$version"
163 if test ! -d gmp; then 163 if (echo $needs_libs | grep -q gmp && test ! -d gmp); then
164 echo "ROCKBOXDEV: Getting GMP" 164 echo "ROCKBOXDEV: Getting GMP"
165 if test ! -f $dlwhere/gmp-5.0.1.tar.bz2; then 165 if test ! -f $dlwhere/gmp-4.3.2.tar.bz2; then
166 getfile "gmp-5.0.1.tar.bz2" "$GNU_MIRROR/gmp" 166 getfile "gmp-4.3.2.tar.bz2" "$GNU_MIRROR/gcc/infrastructure"
167 fi 167 fi
168 tar xjf $dlwhere/gmp-5.0.1.tar.bz2 168 tar xjf $dlwhere/gmp-4.3.2.tar.bz2
169 ln -s gmp-5.0.1 gmp 169 ln -s gmp-4.3.2 gmp
170 fi 170 fi
171 171
172 if test ! -d mpfr; then 172 if (echo $needs_libs | grep -q mpfr && test ! -d mpfr); then
173 echo "ROCKBOXDEV: Getting MPFR" 173 echo "ROCKBOXDEV: Getting MPFR"
174 if test ! -f $dlwhere/mpfr-2.4.2.tar.bz2; then 174 if test ! -f $dlwhere/mpfr-2.4.2.tar.bz2; then
175 getfile "mpfr-2.4.2.tar.bz2" "$GNU_MIRROR/mpfr" 175 getfile "mpfr-2.4.2.tar.bz2" "$GNU_MIRROR/gcc/infrastructure"
176 fi 176 fi
177 tar xjf $dlwhere/mpfr-2.4.2.tar.bz2 177 tar xjf $dlwhere/mpfr-2.4.2.tar.bz2
178 ln -s mpfr-2.4.2 mpfr 178 ln -s mpfr-2.4.2 mpfr
179 fi 179 fi
180
181 if (echo $needs_libs | grep -q mpc && test ! -d mpc); then
182 echo "ROCKBOXDEV: Getting MPC"
183 if test ! -f $dlwhere/mpc-0.8.1.tar.gz; then
184 getfile "mpc-0.8.1.tar.gz" "$GNU_MIRROR/gcc/infrastructure"
185 fi
186 tar xzf $dlwhere/mpc-0.8.1.tar.gz
187 ln -s mpc-0.8.1 mpc
188 fi
180 cd $builddir 189 cd $builddir
181 fi 190 fi
182 191
@@ -253,7 +262,7 @@ echo "e - arm-eabi (ipods, iriver H10, Sansa, D2, Gigabeat, etc)"
253echo "a - arm (older ARM toolchain, deprecated) " 262echo "a - arm (older ARM toolchain, deprecated) "
254echo "i - mips (Jz4740 and ATJ-based players)" 263echo "i - mips (Jz4740 and ATJ-based players)"
255echo "separate multiple targets with spaces" 264echo "separate multiple targets with spaces"
256echo "(Example: \"s m a\" will build sh, m86k and arm)" 265echo "(Example: \"s m a\" will build sh, m68k and arm)"
257echo "" 266echo ""
258 267
259selarch=`input` 268selarch=`input`
@@ -312,7 +321,7 @@ do
312 ;; 321 ;;
313 esac 322 esac
314 build "binutils" "arm-elf-eabi" "2.20.1" "binutils-2.20.1-ld-thumb-interwork-long-call.diff" "$binopts" 323 build "binutils" "arm-elf-eabi" "2.20.1" "binutils-2.20.1-ld-thumb-interwork-long-call.diff" "$binopts"
315 build "gcc" "arm-elf-eabi" "4.4.4" "rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.4.2_1.diff" "$gccopts" "needs_gmp" 324 build "gcc" "arm-elf-eabi" "4.4.4" "rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.4.2_1.diff" "$gccopts" "gmp mpfr"
316 ;; 325 ;;
317 326
318 *) 327 *)