diff options
Diffstat (limited to 'tools/rockboxdev.sh')
-rwxr-xr-x | tools/rockboxdev.sh | 53 |
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` |
718 | else | 724 | else |
@@ -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" \ |