summaryrefslogtreecommitdiff
path: root/tools/rockboxdev.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tools/rockboxdev.sh')
-rwxr-xr-xtools/rockboxdev.sh53
1 files changed, 31 insertions, 22 deletions
diff --git a/tools/rockboxdev.sh b/tools/rockboxdev.sh
index 6009a0c3af..61cefe55e7 100755
--- a/tools/rockboxdev.sh
+++ b/tools/rockboxdev.sh
@@ -391,9 +391,9 @@ build() {
391 fi 391 fi
392 done 392 done
393 393
394 # kludge to avoid having to install GMP, MPFR and MPC, for new gcc 394 # kludge to avoid having to install GMP, MPFR, MPC and ISL
395 if test -n "$needs_libs"; then 395 if test -n "$needs_libs"; then
396 cd "gcc-$version" 396 cd "$toolname-$version"
397 if (echo $needs_libs | grep -q gmp && test ! -d gmp); then 397 if (echo $needs_libs | grep -q gmp && test ! -d gmp); then
398 echo "ROCKBOXDEV: Getting GMP" 398 echo "ROCKBOXDEV: Getting GMP"
399 getfile "gmp-4.3.2.tar.bz2" "$GNU_MIRROR/gmp" 399 getfile "gmp-4.3.2.tar.bz2" "$GNU_MIRROR/gmp"
@@ -403,16 +403,23 @@ build() {
403 403
404 if (echo $needs_libs | grep -q mpfr && test ! -d mpfr); then 404 if (echo $needs_libs | grep -q mpfr && test ! -d mpfr); then
405 echo "ROCKBOXDEV: Getting MPFR" 405 echo "ROCKBOXDEV: Getting MPFR"
406 getfile "mpfr-2.4.2.tar.bz2" "$GNU_MIRROR/mpfr" 406 getfile "mpfr-3.1.0.tar.bz2" "$GNU_MIRROR/mpfr"
407 tar xjf $dlwhere/mpfr-2.4.2.tar.bz2 407 tar xjf $dlwhere/mpfr-3.1.0.tar.bz2
408 ln -s mpfr-2.4.2 mpfr 408 ln -s mpfr-3.1.0 mpfr
409 fi 409 fi
410 410
411 if (echo $needs_libs | grep -q mpc && test ! -d mpc); then 411 if (echo $needs_libs | grep -q mpc && test ! -d mpc); then
412 echo "ROCKBOXDEV: Getting MPC" 412 echo "ROCKBOXDEV: Getting MPC"
413 getfile "mpc-0.8.1.tar.gz" "http://www.multiprecision.org/downloads" 413 getfile "mpc-1.0.1.tar.gz" "http://www.multiprecision.org/downloads"
414 tar xzf $dlwhere/mpc-0.8.1.tar.gz 414 tar xzf $dlwhere/mpc-1.0.1.tar.gz
415 ln -s mpc-0.8.1 mpc 415 ln -s mpc-1.0.1 mpc
416 fi
417
418 if (echo $needs_libs | grep -q isl && test ! -d isl); then
419 echo "ROCKBOXDEV: Getting ISL"
420 getfile "isl-0.15.tar.bz2" "https://gcc.gnu.org/pub/gcc/infrastructure"
421 tar xjf $dlwhere/isl-0.15.tar.bz2
422 ln -s isl-0.15 isl
416 fi 423 fi
417 cd $builddir 424 cd $builddir
418 fi 425 fi
@@ -708,11 +715,10 @@ if [ -z "$RBDEV_TARGET" ]; then
708 echo "m - m68k (iriver h1x0/h3x0, iaudio m3/m5/x5 and mpio hd200)" 715 echo "m - m68k (iriver h1x0/h3x0, iaudio m3/m5/x5 and mpio hd200)"
709 echo "a - arm (ipods, iriver H10, Sansa, D2, Gigabeat, etc)" 716 echo "a - arm (ipods, iriver H10, Sansa, D2, Gigabeat, etc)"
710 echo "i - mips (Jz47xx and ATJ-based players)" 717 echo "i - mips (Jz47xx and ATJ-based players)"
711# echo "r - arm-app (Samsung ypr0)"
712 echo "x - arm-linux (Generic Linux ARM: Samsung ypr0, Linux-based Sony NWZ)" 718 echo "x - arm-linux (Generic Linux ARM: Samsung ypr0, Linux-based Sony NWZ)"
713 echo "y - mips-linux (Generic Linux MIPS: AGPTek Rocker)" 719 echo "y - mips-linux (Generic Linux MIPS: AGPTek Rocker)"
714 echo "separate multiple targets with spaces" 720 echo "separate multiple targets with spaces"
715 echo "(Example: \"s m a\" will build sh, m68k and arm)" 721 echo "(Example: \"m a i\" will build m68k, arm, and mips)"
716 echo "" 722 echo ""
717 selarch=`input` 723 selarch=`input`
718else 724else
@@ -729,13 +735,13 @@ do
729 echo "" 735 echo ""
730 case $arch in 736 case $arch in
731 [Ii]) 737 [Ii])
732 build "binutils" "mipsel-elf" "2.26.1" "" "--disable-werror" 738 build "binutils" "mipsel-elf" "2.26.1" "" "--disable-werror" "isl"
733 build "gcc" "mipsel-elf" "4.9.4" "" "" "gmp mpfr mpc" 739 build "gcc" "mipsel-elf" "4.9.4" "" "" "gmp mpfr mpc isl"
734 ;; 740 ;;
735 741
736 [Mm]) 742 [Mm])
737 build "binutils" "m68k-elf" "2.20.1" "binutils-2.20.1-texinfo-fix.diff" "--disable-werror" 743 build "binutils" "m68k-elf" "2.26.1" "" "--disable-werror" "isl"
738 build "gcc" "m68k-elf" "4.5.2" "" "--with-arch=cf MAKEINFO=missing" "gmp mpfr mpc" 744 build "gcc" "m68k-elf" "4.9.4" "" "--with-arch=cf MAKEINFO=missing" "gmp mpfr mpc isl"
739 ;; 745 ;;
740 746
741 [Aa]) 747 [Aa])
@@ -747,12 +753,9 @@ do
747 gccopts="--disable-nls" 753 gccopts="--disable-nls"
748 ;; 754 ;;
749 esac 755 esac
750 build "binutils" "arm-elf-eabi" "2.20.1" "binutils-2.20.1-ld-thumb-interwork-long-call.diff binutils-2.20.1-texinfo-fix.diff" "$binopts --disable-werror" 756 build "binutils" "arm-elf-eabi" "2.26.1" "" "$binopts --disable-werror" "isl"
751 build "gcc" "arm-elf-eabi" "4.4.4" "rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.4.2_1.diff" "$gccopts MAKEINFO=missing" "gmp mpfr" 757 build "gcc" "arm-elf-eabi" "4.9.4" "rockbox-multilibs-noexceptions-arm-elf-eabi-gcc-4.9.4.diff" "$gccopts MAKEINFO=missing" "gmp mpfr mpc isl"
752 ;; 758 ;;
753# [Rr])
754# build_ctng "ypr0" "alsalib.tar.gz" "arm" "linux-gnueabi"
755# ;;
756 [Xx]) 759 [Xx])
757 # IMPORTANT NOTE 760 # IMPORTANT NOTE
758 # This toolchain must support several targets and thus must support 761 # This toolchain must support several targets and thus must support
@@ -804,20 +807,26 @@ do
804 # compiles with GCC >6 807 # compiles with GCC >6
805 # kernel: 3.10.14 808 # kernel: 3.10.14
806 # glibc: 2.16 809 # glibc: 2.16
810 # alsa: 1.0.29
811 #
812 # FiiO M3K:
813 # kernel: 3.10.14
814 # glibc: 2.16
815 # alsa: 1.0.26
807 # 816 #
808 # To maximize compatibility, we use kernel 3.2.85 which is the lastest 817 # To maximize compatibility, we use kernel 3.2.85 which is the lastest
809 # longterm 3.2 kernel and is supported by the latest glibc, and we 818 # longterm 3.2 kernel and is supported by the latest glibc, and we
810 # require support for up to glibc 2.4 819 # require support for up to glibc 2.16
811 # We use a recent 2.26.1 binutils to avoid any build problems and 820 # We use a recent 2.26.1 binutils to avoid any build problems and
812 # avoid patches/bugs. 821 # avoid patches/bugs.
813 glibcopts="--enable-kernel=3.2 --enable-oldest-abi=2.4" 822 glibcopts="--enable-kernel=3.2 --enable-oldest-abi=2.16"
814 # FIXME: maybe add -mhard-float 823 # FIXME: maybe add -mhard-float
815 build_linux_toolchain "mipsel-rockbox-linux-gnu" "2.26.1" "" "4.9.4" \ 824 build_linux_toolchain "mipsel-rockbox-linux-gnu" "2.26.1" "" "4.9.4" \
816 "$gccopts" "3.2.85" "2.25" "$glibcopts" 825 "$gccopts" "3.2.85" "2.25" "$glibcopts"
817 # build alsa-lib 826 # build alsa-lib
818 # we need to set the prefix to how it is on device (/usr) and then 827 # we need to set the prefix to how it is on device (/usr) and then
819 # tweak install dir at make install step 828 # tweak install dir at make install step
820 alsalib_ver="1.0.19" 829 alsalib_ver="1.0.26"
821 gettool "alsa-lib" "$alsalib_ver" 830 gettool "alsa-lib" "$alsalib_ver"
822 extract "alsa-lib-$alsalib_ver" 831 extract "alsa-lib-$alsalib_ver"
823 prefix="/usr" buildtool "alsa-lib" "$alsalib_ver" \ 832 prefix="/usr" buildtool "alsa-lib" "$alsalib_ver" \