@@ -11,7 +11,6 @@ base_path="kernel/linux/uapi/"
1111version=" "
1212file=" "
1313check_headers=0
14- errors=0
1514
1615print_usage ()
1716{
@@ -91,7 +90,35 @@ fixup_includes()
9190 done
9291}
9392
94- check_header () {
93+ update_all ()
94+ {
95+ local current_version=$( < $base_path /version)
96+
97+ if [ -n " $version " ]; then
98+ if version_older_than " $version " " $current_version " ; then
99+ echo " Headers already up to date ($current_version >= $version )"
100+ version=$current_version
101+ else
102+ update_headers
103+ fi
104+ else
105+ echo " Version not specified, using current version ($current_version )"
106+ version=$current_version
107+ fi
108+
109+ if [ -n " $file " ]; then
110+ import_header $file
111+ fi
112+
113+ for filename in $( find $base_path -name " *.h" -type f) ; do
114+ fixup_includes $filename
115+ done
116+
117+ echo $version > $base_path /version
118+ }
119+
120+ check_header ()
121+ {
95122 echo -n " Checking $1 ... "
96123
97124 if ! diff -q $1 $2 > /dev/null; then
@@ -105,6 +132,28 @@ check_header() {
105132 return 0
106133}
107134
135+ check_all ()
136+ {
137+ local errors=0
138+
139+ tmpheader=" $( mktemp -t dpdk.checkuapi.XXXXXX) "
140+ trap " rm -f '$tmpheader '" INT
141+
142+ echo " Checking imported headers for version $version "
143+ for filename in $( find $base_path -name " *.h" -type f) ; do
144+ header=${filename# $base_path }
145+ download_header $header $tmpheader
146+ fixup_includes $tmpheader
147+ check_header $filename $tmpheader || errors=$(( errors+ 1 ))
148+ done
149+ echo " $errors error(s) found"
150+
151+ rm -f $tmpheader
152+ trap - INT
153+
154+ return $errors
155+ }
156+
108157while getopts i:u:ch opt ; do
109158 case $opt in
110159 i ) file=$OPTARG ;;
123172
124173cd $( dirname $0 ) /..
125174
126- current_version=$( < $base_path /version)
127-
128- if [ -n " $version " ]; then
129- if version_older_than " $version " " $current_version " ; then
130- echo " Headers already up to date ($current_version >= $version )"
131- version=$current_version
132- else
133- update_headers
134- fi
135- else
136- echo " Version not specified, using current version ($current_version )"
137- version=$current_version
138- fi
139-
140- if [ -n " $file " ]; then
141- import_header $file
142- fi
143-
144- for filename in $( find $base_path -name " *.h" -type f) ; do
145- fixup_includes $filename
146- done
147-
148- echo $version > $base_path /version
175+ update_all
149176
150177if [ $check_headers -eq 0 ]; then
151178 exit 0
152179fi
153180
154- tmpheader=" $( mktemp -t dpdk.checkuapi.XXXXXX) "
155- trap " rm -f '$tmpheader '" INT
156-
157- echo " Checking imported headers for version $version "
158-
159- for filename in $( find $base_path -name " *.h" -type f) ; do
160- header=${filename# $base_path }
161- download_header $header $tmpheader
162- fixup_includes $tmpheader
163- check_header $filename $tmpheader || errors=$(( errors+ 1 ))
164- done
165-
166- echo " $errors error(s) found"
167-
168- rm -f $tmpheader
169- trap - INT
170-
171- exit $errors
181+ check_all
0 commit comments