diff -r -u --exclude '*~' boost_1_43_0/boost/archive/impl/basic_xml_grammar.hpp boost_1_43_0.patched/boost/archive/impl/basic_xml_grammar.hpp
--- boost_1_43_0/boost/archive/impl/basic_xml_grammar.hpp	2009-01-16 21:11:57.000000000 +0000
+++ boost_1_43_0.patched/boost/archive/impl/basic_xml_grammar.hpp	2010-05-25 13:42:26.185796649 +0100
@@ -56,7 +56,7 @@
 #endif
 
 //#define BOOST_SPIRIT_DEBUG
-#include <boost/spirit/core/non_terminal/rule.hpp>
+#include <boost/spirit/include/classic_rule.hpp>
 
 // the following hack is to evade a bogus error generated by using the
 // word "arg" when bind.hpp has been included
@@ -97,12 +97,12 @@
 private:
     typedef BOOST_DEDUCED_TYPENAME std::basic_istream<CharType> IStream;
     typedef BOOST_DEDUCED_TYPENAME std::basic_string<CharType> StringType;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::chset<CharType> chset_t;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::chlit<CharType> chlit_t;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::scanner<
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chset<CharType> chset_t;
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::chlit<CharType> chlit_t;
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::scanner<
         BOOST_DEDUCED_TYPENAME  std::basic_string<CharType>::iterator
     > scanner_t;
-    typedef BOOST_DEDUCED_TYPENAME boost::spirit::rule<scanner_t> rule_t;
+    typedef BOOST_DEDUCED_TYPENAME boost::spirit::classic::rule<scanner_t> rule_t;
     // Start grammar definition
     rule_t    
         Reference,
diff -r -u --exclude '*~' boost_1_43_0/libs/serialization/src/basic_xml_grammar.ipp boost_1_43_0.patched/libs/serialization/src/basic_xml_grammar.ipp
--- boost_1_43_0/libs/serialization/src/basic_xml_grammar.ipp	2009-12-05 06:34:10.000000000 +0000
+++ boost_1_43_0.patched/libs/serialization/src/basic_xml_grammar.ipp	2010-05-25 13:43:48.298859492 +0100
@@ -22,9 +22,9 @@
 #endif
 
 // spirit stuff
-#include <boost/spirit/core/composite/operators.hpp>
-#include <boost/spirit/core/composite/actions.hpp>
-#include <boost/spirit/core/primitives/numerics.hpp>
+#include <boost/spirit/include/classic_operators.hpp>
+#include <boost/spirit/include/classic_actions.hpp>
+#include <boost/spirit/include/classic_numerics.hpp>
 
 #ifdef BOOST_MSVC
 #pragma warning(pop)
@@ -42,7 +42,7 @@
 #include <boost/archive/basic_xml_archive.hpp>
 #include <boost/archive/iterators/xml_unescape.hpp>
 
-using namespace boost::spirit;
+using namespace boost::spirit::classic;
 
 namespace boost {
 namespace archive {
@@ -207,7 +207,7 @@
     // and transaction data logging in the standard way.
     
     parse_info<BOOST_DEDUCED_TYPENAME std::basic_string<CharType>::iterator> 
-        result = boost::spirit::parse(arg.begin(), arg.end(), rule_);
+        result = boost::spirit::classic::parse(arg.begin(), arg.end(), rule_);
     return result.hit;
 }
 
diff -r -u --exclude '*~' boost_1_43_0/libs/serialization/src/xml_grammar.cpp boost_1_43_0.patched/libs/serialization/src/xml_grammar.cpp
--- boost_1_43_0/libs/serialization/src/xml_grammar.cpp	2008-06-26 20:25:44.000000000 +0100
+++ boost_1_43_0.patched/libs/serialization/src/xml_grammar.cpp	2010-05-25 13:43:56.887859351 +0100
@@ -15,7 +15,7 @@
 #define BOOST_ARCHIVE_SOURCE
 #include <boost/archive/impl/basic_xml_grammar.hpp>
 
-using namespace boost::spirit;
+using namespace boost::spirit::classic;
 
 #include <boost/config.hpp>
 

