3 cat > sed.script << "EOF"
7 s/typedef \(.*\) __u\([1-9]*\);/#define __U\2_TYPEDEF \1/
8 s/typedef \(.*\) __s\([1-9]*\);/#define __S\2_TYPEDEF \1/
11 if test -z "$CC"; then
15 if test -z "$CPP"; then
19 echo '#include <asm/types.h>' | $CPP - | \
20 sed -f sed.script | grep '^#' > asm_types.h
24 cp asm_types.h asm_types.c
26 cat >> asm_types.c <<EOF
29 main(int argc, char **argv)
32 if (sizeof(__U8_TYPEDEF) != 1) {
33 printf("Sizeof(__U8__TYPEDEF) is %d should be 1\n",
34 sizeof(__U8_TYPEDEF));
38 #warning __U8_TYPEDEF not defined
41 if (sizeof(__S8_TYPEDEF) != 1) {
42 printf("Sizeof(_S8__TYPEDEF) is %d should be 1\n",
43 sizeof(__S8_TYPEDEF));
47 #warning __S8_TYPEDEF not defined
50 if (sizeof(__U16_TYPEDEF) != 2) {
51 printf("Sizeof(__U16__TYPEDEF) is %d should be 2\n",
52 sizeof(__U16_TYPEDEF));
56 #warning __U16_TYPEDEF not defined
59 if (sizeof(__S16_TYPEDEF) != 2) {
60 printf("Sizeof(__S16__TYPEDEF) is %d should be 2\n",
61 sizeof(__S16_TYPEDEF));
65 #warning __S16_TYPEDEF not defined
69 if (sizeof(__U32_TYPEDEF) != 4) {
70 printf("Sizeof(__U32__TYPEDEF) is %d should be 4\n",
71 sizeof(__U32_TYPEDEF));
75 #warning __U32_TYPEDEF not defined
78 if (sizeof(__S32_TYPEDEF) != 4) {
79 printf("Sizeof(__S32__TYPEDEF) is %d should be 4\n",
80 sizeof(__S32_TYPEDEF));
84 #warning __S32_TYPEDEF not defined
88 if (sizeof(__U64_TYPEDEF) != 8) {
89 printf("Sizeof(__U64__TYPEDEF) is %d should be 8\n",
90 sizeof(__U64_TYPEDEF));
94 #warning __U64_TYPEDEF not defined
97 if (sizeof(__S64_TYPEDEF) != 8) {
98 printf("Sizeof(__S64__TYPEDEF) is %d should be 8\n",
99 sizeof(__S64_TYPEDEF));
103 #warning __S64_TYPEDEF not defined
109 ${BUILD_CC-${CC-gcc}} -o asm_types asm_types.c
114 echo "Problem detected with asm_types.h"
115 echo "" > asm_types.h
117 rm asm_types.c asm_types