| #!/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 |