#!/bin/bash VERSION="rLOCAL" SUFFIX=freetz-${VERSION}-shared-glibc TOOL_CONF=tools/kconfig/conf # # 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_32BIT is not set # FREETZ_TOOLCHAIN_CCACHE is not set FREETZ_HOSTTOOLS_DOWNLOAD=y FREETZ_JLEVEL=9 EOF } dltc() { local options="$(echo $* | sed 's/ */ /g')" echo "Building toolchains for ${options// /, }" make distclean rm -rf dl 2>/dev/null ln -sf ~/.freetz-dl dl mkdir -p dl make $TOOL_CONF miniconfig $options > .config $TOOL_CONF --olddefconfig config/Config.in cp -a .config tc-${options// /_}.conf make KTV=${SUFFIX} TTV=${SUFFIX} toolchain 2>&1 | tee tc-${options// /_}.make } if [ -n "$1" ]; then dltc "$*" else # dltc "FREETZ_TYPE_WLAN FREETZ_TYPE_FIRMWARE_04_XX" # dltc "FREETZ_TYPE_7270_V1 FREETZ_TYPE_FIRMWARE_04_XX FREETZ_TARGET_IPV6_SUPPORT" # dltc "FREETZ_TYPE_7270_V3 FREETZ_TYPE_FIRMWARE_06_0X" # dltc "FREETZ_TYPE_7270_V3 FREETZ_TYPE_FIRMWARE_06_0X FREETZ_TARGET_UCLIBC_0_9_33" # dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_05_2X" # dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_05_2X FREETZ_TARGET_UCLIBC_0_9_33" # dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_06_0X" # dltc "FREETZ_TYPE_7390 FREETZ_TYPE_FIRMWARE_06_2X" # dltc "FREETZ_TYPE_7490 FREETZ_TYPE_FIRMWARE_06_5X" dltc "FREETZ_TYPE_7490 FREETZ_TYPE_FIRMWARE_07_2X" # dltc "FREETZ_TYPE_7580 FREETZ_TYPE_FIRMWARE_06_8X" # dltc "FREETZ_TYPE_7590 FREETZ_TYPE_FIRMWARE_07_0X" dltc "FREETZ_TYPE_7590 FREETZ_TYPE_FIRMWARE_07_2X" # dltc "FREETZ_TYPE_1750 FREETZ_TYPE_FIRMWARE_07_0X" dltc "FREETZ_TYPE_1750 FREETZ_TYPE_FIRMWARE_07_2X" dltc "FREETZ_TYPE_7581 FREETZ_TYPE_FIRMWARE_07_1X" dltc "FREETZ_TYPE_7539 FREETZ_TYPE_FIRMWARE_07_2X" # dltc "FREETZ_TYPE_4040 FREETZ_TYPE_FIRMWARE_07_0X" dltc "FREETZ_TYPE_1200 FREETZ_TYPE_FIRMWARE_07_2X" # dltc "FREETZ_TYPE_6490 FREETZ_TYPE_FIRMWARE_06_8X" # dltc "FREETZ_TYPE_6590 FREETZ_TYPE_FIRMWARE_07_0X" dltc "FREETZ_TYPE_6590 FREETZ_TYPE_FIRMWARE_07_2X" dltc "FREETZ_TYPE_6591 FREETZ_TYPE_FIRMWARE_07_0X" dltc "FREETZ_TYPE_6660 FREETZ_TYPE_FIRMWARE_07_1X" dltc "FREETZ_TYPE_6660 FREETZ_TYPE_FIRMWARE_07_2X" fi exit 0