use the host python when running the h2py code, and have that search sysroot

--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1082,10 +1082,10 @@
 $(srcdir)/Lib/$(PLATDIR):
 	mkdir $(srcdir)/Lib/$(PLATDIR)
 	cp $(srcdir)/Lib/plat-generic/regen $(srcdir)/Lib/$(PLATDIR)/regen
-	export PATH; PATH="`pwd`:$$PATH"; \
+	export INCLUDE="$(SYSROOT)$(INCLUDEDIR)"; \
 	export PYTHONPATH; PYTHONPATH="$(srcdir)/Lib:$(abs_builddir)/`cat pybuilddir.txt`"; \
 	export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
-	export EXE; EXE="$(BUILDEXE)"; \
+	export HOSTPYTHON="`realpath $(HOSTPYTHON)`"; \
 	if [ -n "$(MULTIARCH)" ]; then export MULTIARCH; MULTIARCH=$(MULTIARCH); fi; \
 	export PYTHON_FOR_BUILD; \
 	if [ "$(build)" = "$(host)" ]; then \
--- a/Tools/scripts/h2py.py
+++ b/Tools/scripts/h2py.py
@@ -60,6 +60,7 @@ except KeyError:
             searchdirs=['/usr/include']
 
 def main():
+    sysroot = os.getenv('SYSROOT', '')
     global filedict
     opts, args = getopt.getopt(sys.argv[1:], 'i:')
     for o, a in opts:
@@ -72,7 +73,7 @@ def main():
             sys.stdout.write('# Generated by h2py from stdin\n')
             process(sys.stdin, sys.stdout)
         else:
-            fp = open(filename, 'r')
+            fp = open(sysroot + filename, 'r')
             outfile = os.path.basename(filename)
             i = outfile.rfind('.')
             if i > 0: outfile = outfile[:i]
