aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--xen/include/Makefile5
-rw-r--r--xen/tools/get-fields.sh9
2 files changed, 11 insertions, 3 deletions
diff --git a/xen/include/Makefile b/xen/include/Makefile
index 71cd172aa1..0223835c08 100644
--- a/xen/include/Makefile
+++ b/xen/include/Makefile
@@ -52,7 +52,7 @@ compat/%.h: compat/%.i Makefile
$(if $(filter-out compat/arch-%.h,$@),echo "#include <$(patsubst compat/%,public/%,$@)>" >>$@.new;) \
$(if $(prefix-y),echo "$(prefix-y)" >>$@.new;) \
grep -v '^# [0-9]' $< | \
- $(BASEDIR)/tools/compat-build-header.py | uniq >>$@.new; \
+ $(PYTHON) $(BASEDIR)/tools/compat-build-header.py | uniq >>$@.new; \
$(if $(suffix-y),echo "$(suffix-y)" >>$@.new;) \
echo "#endif /* $$id */" >>$@.new
mv -f $@.new $@
@@ -63,10 +63,11 @@ compat/%.i: compat/%.c Makefile
compat/%.c: public/%.h xlat.lst Makefile
mkdir -p $(@D)
grep -v 'DEFINE_XEN_GUEST_HANDLE(long)' $< | \
- $(BASEDIR)/tools/compat-build-source.py >$@.new
+ $(PYTHON) $(BASEDIR)/tools/compat-build-source.py >$@.new
mv -f $@.new $@
compat/xlat.h: xlat.lst $(filter-out compat/xlat.h,$(headers-y)) $(BASEDIR)/tools/get-fields.sh Makefile
+ export PYTHON=$(PYTHON); \
grep -v '^[ ]*#' xlat.lst | \
while read what name hdr; do \
$(SHELL) $(BASEDIR)/tools/get-fields.sh "$$what" compat_$$name $$(echo compat/$$hdr | sed 's,@arch@,$(compat-arch-y),g') || exit $$?; \
diff --git a/xen/tools/get-fields.sh b/xen/tools/get-fields.sh
index 9b2c61f1d0..4547dc2eee 100644
--- a/xen/tools/get-fields.sh
+++ b/xen/tools/get-fields.sh
@@ -5,6 +5,13 @@ SED=sed
if test -x /usr/xpg4/bin/sed; then
SED=/usr/xpg4/bin/sed
fi
+if test -z ${PYTHON}; then
+ PYTHON=`/usr/bin/env python`
+fi
+if test -z ${PYTHON}; then
+ echo "Python not found"
+ exit 1
+fi
get_fields ()
{
@@ -129,7 +136,7 @@ handle_field ()
fi
elif [ -z "$(echo "$5" | $SED 's,[^{}],,g')" ]
then
- local tag=$(echo "$5" | python -c '
+ local tag=$(echo "$5" | ${PYTHON} -c '
import re,sys
for line in sys.stdin.readlines():
print re.subn(r"\s*(struct|union)\s+(compat_)?(\w+)\s.*", r"\3", line)[0].rstrip()