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