diff --git a/python/Makefile.am b/python/Makefile.am
index fa13310..c37c0c2 100644
--- a/python/Makefile.am
+++ b/python/Makefile.am
@@ -6,7 +6,8 @@
 INCLUDES = \
 	-I$(PYTHON_INCLUDES) \
 	-I$(top_srcdir)/include	\
-	-I$(top_builddir)/include
+	-I$(top_builddir)/include \
+	-I$(top_builddir)/$(subdir)
 
 DOCS_DIR = $(datadir)/doc/libxml2-python-$(LIBXML_VERSION)
 # libxml2class.txt is generated
@@ -37,8 +38,8 @@
 libxml2mod_la_SOURCES = libxml.c types.c libxml2-py.c
 libxml2mod_la_LIBADD = $(mylibs) @CYGWIN_EXTRA_PYTHON_LIBADD@
 
-libxml2.py: $(srcdir)/libxml.py $(srcdir)/libxml2class.py
-	cat $(srcdir)/libxml.py $(srcdir)/libxml2class.py > libxml2.py
+libxml2.py: $(srcdir)/libxml.py libxml2class.py
+	cat $(srcdir)/libxml.py libxml2class.py > libxml2.py
 
 install-data-local:
 	$(mkinstalldirs) $(DESTDIR)$(pythondir)
@@ -50,18 +51,18 @@
 
 GENERATE = generator.py
 API_DESC = $(top_srcdir)/doc/libxml2-api.xml $(srcdir)/libxml2-python-api.xml
-GENERATED= $(srcdir)/libxml2class.py \
-           $(srcdir)/libxml2-export.c \
-           $(srcdir)/libxml2class.txt \
-	   $(srcdir)/libxml2-py.c \
-	   $(srcdir)/libxml2-py.h
+GENERATED= libxml2class.py \
+           libxml2-export.c \
+           libxml2class.txt \
+	   libxml2-py.c \
+	   libxml2-py.h
 
 CLEANFILES= $(GENERATED) gen_prog libxml2.py
 
 $(GENERATED): gen_prog
 
 gen_prog: $(srcdir)/$(GENERATE) $(API_DESC)
-	cd $(srcdir) && $(PYTHON) $(GENERATE)
+	$(PYTHON) $(srcdir)/$(GENERATE) $(srcdir)
 	touch gen_prog
 
 $(libxml2mod_la_OBJECTS): $(GENERATED)
diff --git a/python/generator.py b/python/generator.py
index 6f5ee09..cd72ce9 100755
--- a/python/generator.py
+++ b/python/generator.py
@@ -9,6 +9,11 @@
 import sys
 import string
 
+if len(sys.argv) > 1:
+    srcPref = sys.argv[1] + '/'
+else:
+    srcPref = ''
+
 #######################################################################
 #
 #  That part if purely the API acquisition phase from the
@@ -294,6 +299,10 @@
 
 unknown_types = {}
 
+foreign_encoding_args = (
+    'xmlCreateMemoryParserCtxt',
+)
+
 #######################################################################
 #
 #  This part writes the C <-> Python stubs libxml2-py.[ch] and
@@ -382,6 +391,7 @@
     c_args=""
     c_return=""
     c_convert=""
+    num_bufs=0
     for arg in args:
         # This should be correct
         if arg[1][0:6] == "const ":
@@ -389,6 +399,11 @@
         c_args = c_args + "    %s %s;\n" % (arg[1], arg[0])
         if py_types.has_key(arg[1]):
             (f, t, n, c) = py_types[arg[1]]
+	    if name == 'xmlCreateMemoryParserCtxt':
+	        print "processing special case"
+	    if (f == 'z') and (name in foreign_encoding_args):
+	        f = 't#'
+		print "changed 'f'"
             if f != None:
                 format = format + f
             if t != None:
@@ -399,6 +414,10 @@
                    arg[1], t, arg[0]);
             else:
                 format_args = format_args + ", &%s" % (arg[0])
+	    if f == 't#':
+	        format_args = format_args + ", &py_buffsize%d" % num_bufs
+	        c_args = c_args + "    int py_buffsize%d;\n" % num_bufs
+		num_bufs = num_bufs + 1
             if c_call != "":
                 c_call = c_call + ", ";
             c_call = c_call + "%s" % (arg[0])
@@ -570,14 +589,14 @@
     global unknown_types
 
     try:
-	f = open("libxml2-api.xml")
+	f = open(srcPref + "libxml2-api.xml")
 	data = f.read()
 	(parser, target)  = getparser()
 	parser.feed(data)
 	parser.close()
     except IOError, msg:
 	try:
-	    f = open("../doc/libxml2-api.xml")
+	    f = open(srcPref + "../doc/libxml2-api.xml")
 	    data = f.read()
 	    (parser, target)  = getparser()
 	    parser.feed(data)
@@ -591,7 +610,7 @@
 
     py_types['pythonObject'] = ('O', "pythonObject", "pythonObject", "pythonObject")
     try:
-	f = open("libxml2-python-api.xml")
+	f = open(srcPref + "libxml2-python-api.xml")
 	data = f.read()
 	(parser, target)  = getparser()
 	parser.feed(data)
