Mark Vakoc added regexp support
diff --git a/win32/configure.js b/win32/configure.js
index fefa790..8450439 100644
--- a/win32/configure.js
+++ b/win32/configure.js
@@ -45,6 +45,7 @@
 var withDebug = true;
 var withMemDebug = false;
 var withSchemas = true;
+var withRegExps = true;
 /* Win32 build options. */
 var buildDebug = 0;
 var buildStatic = 0;
@@ -106,6 +107,7 @@
 	txt += "  iconv:      Enable ICONV support (" + (withIconv? "yes" : "no")  + ")\n";
 	txt += "  xml_debug:  Enable XML debbugging module (" + (withDebug? "yes" : "no")  + ")\n";
 	txt += "  mem_debug:  Enable memory debugger (" + (withMemDebug? "yes" : "no")  + ")\n";
+	txt += "  regexps:    Enable regular expressions (" + (withRegExps? "yes" : "no") + ")\n";
 	txt += "  schemas:    Enable XML Schema support (" + (withSchemas? "yes" : "no")  + ")\n";
 	txt += "\nWin32 build options, default value given in parentheses:\n\n";
 	txt += "  debug:      Build unoptimised debug executables (" + (buildDebug? "yes" : "no")  + ")\n";
@@ -171,6 +173,7 @@
 	vf.WriteLine("WITH_DEBUG=" + (withDebug? "1" : "0"));
 	vf.WriteLine("WITH_MEM_DEBUG=" + (withMemDebug? "1" : "0"));
 	vf.WriteLine("WITH_SCHEMAS=" + (withSchemas? "1" : "0"));
+	vf.WriteLine("WITH_REGEXPS=" + (withRegExps? "1" : "0"));
 	vf.WriteLine("DEBUG=" + (buildDebug? "1" : "0"));
 	vf.WriteLine("STATIC=" + (buildStatic? "1" : "0"));
 	vf.WriteLine("PREFIX=" + buildPrefix);
@@ -230,6 +233,8 @@
 			of.WriteLine(s.replace(/\@WITH_MEM_DEBUG\@/, withMemDebug? "1" : "0"));
 		} else if (s.search(/\@WITH_SCHEMAS\@/) != -1) {
 			of.WriteLine(s.replace(/\@WITH_SCHEMAS\@/, withSchemas? "1" : "0"));
+		} else if (s.search(/\@WITH_REGEXPS\@/) != -1) {
+			of.WriteLine(s.replace(/\@WITH_REGEXPS\@/, withRegExps? "1" : "0"));
 		} else
 			of.WriteLine(ln);
 	}
@@ -334,6 +339,8 @@
 			withMemDebug = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "schemas")
 			withSchemas = strToBool(arg.substring(opt.length + 1, arg.length));
+		else if (opt == "regexps")
+			withRegExps = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "debug")
 			buildDebug = strToBool(arg.substring(opt.length + 1, arg.length));
 		else if (opt == "static")
@@ -413,6 +420,7 @@
 txtOut += "     ICONV support: " + boolToStr(withIconv) + "\n";
 txtOut += "  Debugging module: " + boolToStr(withDebug) + "\n";
 txtOut += "  Memory debugging: " + boolToStr(withMemDebug) + "\n";
+txtOut += "    Regexp support: " + boolToStr(withRegExps) + "\n";
 txtOut += "XML Schema support: " + boolToStr(withSchemas) + "\n";
 txtOut += "\n";
 txtOut += "Win32 build configuration\n";
diff --git a/win32/libxml2.def.src b/win32/libxml2.def.src
index 11e5431..e860a3a 100644
--- a/win32/libxml2.def.src
+++ b/win32/libxml2.def.src
@@ -1135,7 +1135,8 @@
 
 /* xmlregexp.h 
    --------------------------------------------------------------------- */
-#ifdef LIBXML_SCHEMAS_ENABLED
+
+#ifdef LIBXML_REGEXP_ENABLED
 	/* The POSIX like API */
 	xmlRegexpCompile
 	xmlRegFreeRegexp
@@ -1145,8 +1146,22 @@
 	/* The progressive API */
 	xmlRegNewExecCtxt
 	xmlRegFreeExecCtxt
-	xmlRegExecPushString			
-#endif /* LIBXML_SCHEMAS_ENABLED */
+	xmlRegExecPushString		
+	xmlRegFreeRegexp
+	xmlRegFreeExecCtxt
+	xmlRegExecPushString
+	xmlRegNewExecCtxt
+	xmlRegexpPrint
+	xmlFreeAutomata
+	xmlAutomataCompile
+	xmlAutomataSetFinalState
+	xmlAutomataNewCountTrans
+	xmlAutomataNewTransition
+	xmlAutomataGetInitState
+	xmlNewAutomata
+	xmlAutomataNewEpsilon
+	xmlAutomataNewState
+#endif /* LIBXML_REGEXP_ENABLED */
 
 
 /* xmlschemas.h 
@@ -1548,6 +1563,7 @@
 #endif /* LIBXML_XPATH_ENABLED */
 
 
+
 /* xpointer.h 
    --------------------------------------------------------------------- */
 #ifdef LIBXML_XPTR_ENABLED