#!/bin/bash # Test script to check uintptr_t and 64-bit types for warnings # # It builds a few boards with different toolchains. If there are no warnings # then all is well. # # Usage: # # Make sure that your toolchains are correct at the bottom of this file # # Then: # ./test/stdint/test-includes.sh out=/tmp/test-includes.tmp try_test() { local board=$1 local arch=$2 local soc=$3 local gcc=$4 local flags="$5" echo $@ if ! which ${gcc} >/dev/null 2>&1; then echo "Not found: ${gcc}" return fi rm -rf ${out} mkdir -p ${out} touch ${out}/config.h mkdir -p ${out}/generated touch ${out}/generated/generic-asm-offsets.h mkdir -p ${out}/include/asm ln -s $(pwd)/arch/${arch}/include/asm/arch-${soc} \ ${out}/include/asm/arch cmd="${gcc} -c -D__KERNEL__ ${flags} \ -fno-builtin -ffreestanding \ -Iarch/${arch}/include \ -Iinclude \ -I${out} -I${out}/include \ -include configs/${board}.h test/stdint/int-types.c \ -o /dev/null" $cmd } # Run a test with and without CONFIG_USE_STDINT try_both() { try_test $@ try_test $@ -DCONFIG_USE_STDINT } # board arch soc path-to-gcc try_both sandbox sandbox - gcc try_both coreboot x86 - x86_64-linux-gnu-gcc try_both seaboard arm tegra20 /opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.08_linux/bin/arm-linux-gnueabihf-gcc