Blame view

test/stdint/test-includes.sh 1.28 KB
b01495e64   Simon Glass   test: Add a simpl...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
  #!/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