diff -r e1b950c65cb4 -r 837f303aceeb epoc32/include/stdapis/boost/config/no_tr1/complex.hpp
--- a/epoc32/include/stdapis/boost/config/no_tr1/complex.hpp	Wed Mar 31 12:27:01 2010 +0100
+++ b/epoc32/include/stdapis/boost/config/no_tr1/complex.hpp	Wed Mar 31 12:33:34 2010 +0100
@@ -2,31 +2,27 @@
 //  Use, modification and distribution are subject to the
 //  Boost Software License, Version 1.0. (See accompanying file
 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+//
+// The aim of this header is just to include <complex> but to do
+// so in a way that does not result in recursive inclusion of
+// the Boost TR1 components if boost/tr1/tr1/complex is in the
+// include search path.  We have to do this to avoid circular
+// dependencies:
+//
 
-#ifndef BOOST_MATH_COMPLEX_INCLUDED
-#define BOOST_MATH_COMPLEX_INCLUDED
+#ifndef BOOST_CONFIG_COMPLEX
+#  define BOOST_CONFIG_COMPLEX
 
-#ifndef BOOST_MATH_COMPLEX_ASIN_INCLUDED
-#  include <boost/math/complex/asin.hpp>
+#  ifndef BOOST_TR1_NO_RECURSION
+#     define BOOST_TR1_NO_RECURSION
+#     define BOOST_CONFIG_NO_COMPLEX_RECURSION
+#  endif
+
+#  include <complex>
+
+#  ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
+#     undef BOOST_TR1_NO_RECURSION
+#     undef BOOST_CONFIG_NO_COMPLEX_RECURSION
+#  endif
+
 #endif
-#ifndef BOOST_MATH_COMPLEX_ASINH_INCLUDED
-#  include <boost/math/complex/asinh.hpp>
-#endif
-#ifndef BOOST_MATH_COMPLEX_ACOS_INCLUDED
-#  include <boost/math/complex/acos.hpp>
-#endif
-#ifndef BOOST_MATH_COMPLEX_ACOSH_INCLUDED
-#  include <boost/math/complex/acosh.hpp>
-#endif
-#ifndef BOOST_MATH_COMPLEX_ATAN_INCLUDED
-#  include <boost/math/complex/atan.hpp>
-#endif
-#ifndef BOOST_MATH_COMPLEX_ATANH_INCLUDED
-#  include <boost/math/complex/atanh.hpp>
-#endif
-#ifndef BOOST_MATH_COMPLEX_FABS_INCLUDED
-#  include <boost/math/complex/fabs.hpp>
-#endif
-
-
-#endif // BOOST_MATH_COMPLEX_INCLUDED