#!/bin/bash # packs toolchains to dl/*freetz-VERSION-shared-glibc.tar.lzma in 20-25min each #Arg $1: #Arg $2: VERSION="$(tools/freetz_revision short)" VERSION="${1:-r${VERSION%-*}}" [ "$1" == "own" ] && VERSION="rLOCAL" SUFFIX="freetz-${VERSION}-shared-glibc" # # required kernel compiler versions: # 3.4 LE # 4.6 LE # 4.6 LE/BE # 4.7 BE # 4.8 BE # 5 BE # # xx 4.7 LE-X86 # xx 5 LE-ARM # xx 5 LE-X86 # # required uClibc versions: # 0.9.28 LE # 0.9.29 LE # 0.9.32.x LE # 0.9.32.x LE/BE # 0.9.33.x LE/BE (as part of freetz uClibc-0.9.33.x test program) # 0.9.33.x BE-NPTL (GCC 4.7+4.8) # 0.9.33.x BE-NPTL-KERNEL_3.10 (GCC 4.8+5) # # xx 0.9.33.x LE-NPTL-X86 # xx 1.0.x LE-NTPL-X86 # xx 1.0.x BE-NPTL KERNEL_3.10 # xx 1.0.x BE-NPTL-KERNEL_4.4 # xx 1.0.x LE-NPTL-KERNEL_4.4-ARM # # kernel uClibc # FREETZ_TYPE_WLAN 3.4 LE 0.9.28 LE # FREETZ_TYPE_7270_V1+04.0X+IPv6 3.4 LE 0.9.29 LE # FREETZ_TYPE_7270_V3 4.6 LE 0.9.32.x LE # FREETZ_TYPE_7270_V3+0.9.33 4.6 LE 0.9.33.x LE # # FREETZ_TYPE_7390+05.5X 4.6 BE 0.9.32.x BE # FREETZ_TYPE_7390+05.5X+0.9.33 4.6 BE 0.9.33.x BE # FREETZ_TYPE_7390+06.0X 4.7 BE 0.9.33.x BE NPTL # FREETZ_TYPE_7390+06.2X 4.8 BE 0.9.33.x BE NPTL # FREETZ_TYPE_7490+06.5X 4.8 BE 0.9.33.x BE NPTL KERNEL_3.10 # FREETZ_TYPE_7580+06.8X 5 BE 0.9.33.x BE NPTL KERNEL_3.10 # # xx FREETZ_TYPE_7590+07.0X 5 BE 1.0.x BE NPTL KERNEL_3.10 # xx FREETZ_TYPE_1750+07.0X 5 BE 1.0.x BE NPTL KERNEL_4.4 # xx FREETZ_TYPE_4040+07.0X 5 LE 1.0.x LE NPTL KERNEL_4.4 (ARM) # xx FREETZ_TYPE_6490+06.8X 4.7 LE 0.9.33.x LE NPTL (X86) # xx FREETZ_TYPE_6590+07.0X 5 LE 1.0.x LE NPTL (X86) # # grep -iE "bcm63138\"|NPTL|UCLIBC_VERSION=|GCC_[^XAMINCPU]*=|KERNEL_VERSION=|ARCH_.*=.$" .config miniconfig() { local i for i in "$@"; do echo "$i=y"; done cat << EOF FREETZ_SERIES_ALL=y FREETZ_BUILD_TOOLCHAIN=y FREETZ_USER_LEVEL_DEVELOPER=y FREETZ_TOOLCHAIN_CCACHE=y FREETZ_HOSTTOOLS_DOWNLOAD=y FREETZ_VERBOSITY_LEVEL_0=y FREETZ_DL_SITE_USER="https://github.com/Freetz-NG/dl-mirror/raw/master" EOF } dltc() { local options="$(echo $* | sed 's/ */ /g')" echo "Building toolchains for ${options// /, }" miniconfig $options > .config make distclean make kconfig-host-conf make olddefconfig cp -a .config tc-${options// /_}.conf make KTV=${SUFFIX} TTV=${SUFFIX} toolchain 2>&1 | tee tc-${options// /_}.make local c="" for x in $(sed -n 's/^OUTPUT:=//p' tc-${options// /_}.make); do [ -s dl/$x ] && c="x$c"; done [ "${#c}" != "2" ] && echo Failed && exit 1 } case "$2" in a|all) old="old" new="new" ;; o|old) old="old" new="" ;; n|new|"") old="" new="new" ;; *) shift ; dltc "$*"; exit 0 ;; esac [ "$old" == "old" ] && dltc "FREETZ_TYPE_WLAN FREETZ_TYPE_FIRMWARE_04_XX" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7270_V1 FREETZ_TYPE_FIRMWARE_04_XX FREETZ_TARGET_IPV6_SUPPORT" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7270_V3 FREETZ_TYPE_FIRMWARE_06_0X" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7270_V3 FREETZ_TYPE_FIRMWARE_06_0X FREETZ_TARGET_UCLIBC_0_9_33" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_05_2X" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_05_2X FREETZ_TARGET_UCLIBC_0_9_33" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_06_0X" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_06_2X" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7490 FREETZ_TYPE_FIRMWARE_06_5X" [ "$new" == "new" ] && dltc "FREETZ_TYPE_7490 FREETZ_TYPE_FIRMWARE_07_2X" # SEPARATE [ "$old" == "old" ] && dltc "FREETZ_TYPE_7580 FREETZ_TYPE_FIRMWARE_06_8X" [ "$old" == "old" ] && dltc "FREETZ_TYPE_7590 FREETZ_TYPE_FIRMWARE_07_0X" [ "$new" == "new" ] && dltc "FREETZ_TYPE_7590 FREETZ_TYPE_FIRMWARE_07_2X" # SEPARATE [ "$old" == "old" ] && dltc "FREETZ_TYPE_1750 FREETZ_TYPE_FIRMWARE_07_0X" [ "$new" == "new" ] && dltc "FREETZ_TYPE_1750 FREETZ_TYPE_FIRMWARE_07_2X" # SEPARATE [ "$new" == "new" ] && dltc "FREETZ_TYPE_7581 FREETZ_TYPE_FIRMWARE_07_1X" # SEPARATE [ "$new" == "new" ] && dltc "FREETZ_TYPE_7539 FREETZ_TYPE_FIRMWARE_07_2X" # SEPARATE [ "$new" == "new" ] && dltc "FREETZ_TYPE_7539 FREETZ_TYPE_FIRMWARE_07_4X_INHAUS" # SEPARATE [ "$old" == "old" ] && dltc "FREETZ_TYPE_4040 FREETZ_TYPE_FIRMWARE_07_0X" [ "$new" == "new" ] && dltc "FREETZ_TYPE_1200 FREETZ_TYPE_FIRMWARE_07_2X" # SEPARATE [ "$old" == "old" ] && dltc "FREETZ_TYPE_6490 FREETZ_TYPE_FIRMWARE_06_8X" [ "$old" == "old" ] && dltc "FREETZ_TYPE_6590 FREETZ_TYPE_FIRMWARE_07_0X" [ "$new" == "new" ] && dltc "FREETZ_TYPE_6590 FREETZ_TYPE_FIRMWARE_07_2X" # SEPARATE [ "$new" == "new" ] && dltc "FREETZ_TYPE_6591 FREETZ_TYPE_FIRMWARE_07_0X" # SEPARATE [ "$new" == "new" ] && dltc "FREETZ_TYPE_6660 FREETZ_TYPE_FIRMWARE_07_1X" # SEPARATE [ "$new" == "new" ] && dltc "FREETZ_TYPE_6660 FREETZ_TYPE_FIRMWARE_07_2X" # SEPARATE exit 0