diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2016-05-22 10:14:54 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2016-05-22 10:14:54 +0200 |
commit | 2de4e099b9edfc57cfdf46ca5df9e676c03fca2f (patch) | |
tree | aaa4b22a37acdcf6cceaa3b585fde2a39ba57f3d | |
parent | 0e3c9018aa9b69f20deb674f0d41a293986a1392 (diff) |
add support for testing static library systems
-rwxr-xr-x | embedded-test.sh | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/embedded-test.sh b/embedded-test.sh index 529c0b9..398a35f 100755 --- a/embedded-test.sh +++ b/embedded-test.sh @@ -38,6 +38,7 @@ topdir=$(pwd) giturl=http://git.openadk.org/openadk.git valid_libc="uclibc-ng musl glibc newlib" valid_tests="toolchain boot libc ltp mksh native" +valid_modes="dynamic static" bootserver=10.0.0.1 buildserver=10.0.0.2 @@ -64,6 +65,7 @@ Explanation: --skiparch=<arch> architectures to skip when all choosen --targets=<targets.txt> a list of remote targets to test via nfsroot or chroot --test=<test> run test (${valid_tests}), default toolchain + --mode=<mode> run mode (${valid_modes}), default dynamic --libc-source=<dir> use directory with source for C library --gcc-source=<dir> use directory with source for gcc --binutils-source=<dir> use directory with source for binutils @@ -96,6 +98,7 @@ debug=0 ntp="" libc="" test="toolchain" +mode="dynamic" while [[ $1 != -- && $1 = -* ]]; do case $1 { (--cleandir) cleandir=1; shift ;; @@ -110,6 +113,7 @@ while [[ $1 != -- && $1 = -* ]]; do case $1 { (--skiparch=*) skiparchs=${1#*=}; shift ;; (--targets=*) targets=${1#*=}; shift ;; (--test=*) test=${1#*=}; shift ;; + (--mode=*) mode=${1#*=}; shift ;; (--libc-source=*) libcsource=${1#*=}; shift ;; (--gcc-source=*) gccsource=${1#*=}; shift ;; (--binutils-source=*) binutilssource=${1#*=}; shift ;; @@ -873,11 +877,15 @@ EOF cat >> $file << EOF file /bin/busybox $tee size /bin/busybox $tee +EOF + if [ $mode = "dynamic" ]; then +cat >> $file << EOF for i in \$(ls /lib/*.so|grep -v libgcc);do size \$i $tee done EOF fi + fi # ltp test if [ $test = "ltp" ]; then cat >> $file << EOF @@ -1035,8 +1043,9 @@ build() { lib=$1 arch=$2 test=$3 - system=$4 - rootfs=$5 + mode=$4 + system=$5 + rootfs=$6 DEFAULT= cd openadk @@ -1114,6 +1123,12 @@ build() { rm .config* .defconfig 2>/dev/null echo "Using following defaults: $DEFAULT" make $DEFAULT defconfig + + # build defaults for different modes + if [ $mode = "static" ]; then + printf "ADK_TARGET_USE_STATIC_LIBS=y" >> .config + yes|make oldconfig + fi for pkg in $packages; do p=$(echo $pkg|tr '[:lower:]' '[:upper:]');printf "ADK_COMPILE_$p=y\nADK_PACKAGE_$p=y" >> .config yes|make oldconfig @@ -1237,7 +1252,7 @@ for lib in ${libc}; do target_rootfs=$(echo $line|cut -f 6 -d ,) target_powerid=$(echo $line|cut -f 7 -d ,) echo "Testing target system $target_system ($target_arch) with $target_rootfs on $target_host" - build $lib $target_arch $test $target_system $target_rootfs + build $lib $target_arch $test $mode $target_system $target_rootfs kernel=openadk/firmware/${target_system}_${lib}_${target_suffix}/${target_system}-${target_rootfs}-kernel tarball=openadk/firmware/${target_system}_${lib}_${target_suffix}/${target_system}-${lib}-${target_rootfs}.tar.xz scp $kernel root@${bootserver}:/tftpboot/${target_host} @@ -1270,7 +1285,7 @@ for lib in ${libc}; do if [[ "$allowed_tests" = *${test}* ]]; then if [[ "$allowed_libc" = *${lib}* ]]; then echo "Compiling for $lib and $arch testing $test" - build $lib $arch $test + build $lib $arch $test $mode if [ "$test" != "toolchain" ]; then if [[ "$runtime_test" = *${lib}* ]]; then runtest $lib $arch $test |