debug ?= n
XEN_COMPILE_ARCH ?= $(shell uname -m | sed -e s/i.86/x86_32/ \
- -e s/ppc/powerpc/ -e s/i86pc/x86_32/)
+ -e s/ppc/powerpc/ -e s/i86pc/x86_32/ \
+ -e s/amd64/x86_64/)
XEN_TARGET_ARCH ?= $(XEN_COMPILE_ARCH)
XEN_OS ?= $(shell uname -s)
compat/xlat.h: xlat.lst $(filter-out compat/xlat.h,$(headers-y)) $(BASEDIR)/tools/get-fields.sh Makefile
grep -v '^[ ]*#' xlat.lst | \
while read what name hdr; do \
- /bin/bash $(BASEDIR)/tools/get-fields.sh "$$what" compat_$$name $$(echo compat/$$hdr | sed 's,@arch@,$(compat-arch-y),g') || exit $$?; \
+ /bin/sh $(BASEDIR)/tools/get-fields.sh "$$what" compat_$$name $$(echo compat/$$hdr | sed 's,@arch@,$(compat-arch-y),g') || exit $$?; \
done >$@.new
mv -f $@.new $@
-#!/bin/bash
+#!/bin/sh
test -n "$1" -a -n "$2" -a -n "$3"
set -ef
SED=sed
-[ -x /usr/xpg4/bin/sed ] && SED=/usr/xpg4/bin/sed
+test -x /usr/xpg4/bin/sed && SED=/usr/xpg4/bin/sed
-get_fields() {
+get_fields ()
+{
local level=1 aggr=0 name= fields=
for token in $2
do
return 0
fi
;;
- [[:alpha:]_]*)
+ [a-zA-Z_]*)
test $aggr = 0 -o -n "$name" || name="$token"
;;
esac
done
}
-build_enums() {
+build_enums ()
+{
local level=1 kind= fields= members= named= id= token
for token in $2
do
named='?'
fi
;;
- [[:alpha:]]*)
+ [a-zA-Z]*)
id=$token
if [ -n "$named" -a -n "${kind#*;}" ]
then
done
}
-handle_field() {
+handle_field ()
+{
if [ -z "$5" ]
then
echo " \\"
array_type=$token
fi
;;
- [[:alpha:]]*)
+ [a-zA-Z]*)
id=$token
;;
[\,\;])
fi
}
-copy_array() {
+copy_array ()
+{
echo " \\"
echo "${1}if ((_d_)->$2 != (_s_)->$2) \\"
echo -n "$1 memcpy((_d_)->$2, (_s_)->$2, sizeof((_d_)->$2));"
}
-handle_array() {
+handle_array ()
+{
local i="i$(echo $4 | $SED 's,[^;], ,g' | wc -w | $SED 's,[[:space:]]*,,g')"
echo " \\"
echo "$1{ \\"
echo -n "$1}"
}
-build_body() {
+build_body ()
+{
echo
echo -n "#define XLAT_$1(_d_, _s_) do {"
local level=1 fields= id= array= arrlvl=1 array_type= type= token
array_type=$token
fi
;;
- [[:alpha:]_]*)
+ [a-zA-Z_]*)
if [ -n "$array" ]
then
array="$array $token"
echo ""
}
-check_field() {
+check_field ()
+{
if [ -z "$(echo "$4" | $SED 's,[^{}],,g')" ]
then
echo "; \\"
case $n in
struct|union)
;;
- [[:alpha:]_]*)
+ [a-zA-Z_]*)
echo -n " CHECK_$n"
break
;;
"}")
level=$(expr $level - 1) id=
;;
- [[:alpha:]]*)
+ [a-zA-Z]*)
id=$token
;;
[\,\;])
fi
}
-build_check() {
+build_check ()
+{
echo
echo "#define CHECK_$1 \\"
local level=1 fields= kind= id= arrlvl=1 token
"]")
arrlvl=$(expr $arrlvl - 1)
;;
- [[:alpha:]_]*)
+ [a-zA-Z_]*)
test $level != 2 -o $arrlvl != 1 || id=$token
;;
[\,\;])