blob: 077bdc73a13619a7b5c338b900038a6078b15926 [file] [log] [blame]
Simon Glassb01495e2014-10-15 04:38:39 -06001#!/bin/bash
2
3# Test script to check uintptr_t and 64-bit types for warnings
4#
5# It builds a few boards with different toolchains. If there are no warnings
6# then all is well.
7#
8# Usage:
9#
10# Make sure that your toolchains are correct at the bottom of this file
11#
12# Then:
13# ./test/stdint/test-includes.sh
14
15out=/tmp/test-includes.tmp
16
17try_test() {
18 local board=$1
19 local arch=$2
20 local soc=$3
21 local gcc=$4
22 local flags="$5"
23
24 echo $@
25 if ! which ${gcc} >/dev/null 2>&1; then
26 echo "Not found: ${gcc}"
27 return
28 fi
29
30 rm -rf ${out}
31 mkdir -p ${out}
32 touch ${out}/config.h
33 mkdir -p ${out}/generated
34 touch ${out}/generated/generic-asm-offsets.h
35 mkdir -p ${out}/include/asm
36 ln -s $(pwd)/arch/${arch}/include/asm/arch-${soc} \
37 ${out}/include/asm/arch
38
39 cmd="${gcc} -c -D__KERNEL__ ${flags} \
40 -fno-builtin -ffreestanding \
41 -Iarch/${arch}/include \
42 -Iinclude \
43 -I${out} -I${out}/include \
44 -include configs/${board}.h test/stdint/int-types.c \
45 -o /dev/null"
46 $cmd
47}
48
49# Run a test with and without CONFIG_USE_STDINT
50try_both() {
51 try_test $@
52 try_test $@ -DCONFIG_USE_STDINT
53}
54
55# board arch soc path-to-gcc
56try_both sandbox sandbox - gcc
57try_both coreboot x86 - x86_64-linux-gnu-gcc
58try_both seaboard arm tegra20 /opt/linaro/gcc-linaro-arm-linux-gnueabihf-4.8-2013.08_linux/bin/arm-linux-gnueabihf-gcc