--- /dev/null
+Index: /trunk/boost/python/call.hpp\r
+===================================================================\r
+--- /trunk/boost/python/call.hpp (revision 24055)\r
++++ /trunk/boost/python/call.hpp (revision 48960)\r
+@@ -39,5 +39,8 @@\r
+ # endif // CALL_DWA2002411_HPP\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \\r
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -77,3 +80,4 @@\r
+ # undef N\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/object/value_holder.hpp\r
+===================================================================\r
+--- /trunk/boost/python/object/value_holder.hpp (revision 32284)\r
++++ /trunk/boost/python/object/value_holder.hpp (revision 48960)\r
+@@ -118,5 +118,8 @@\r
+ // --------------- value_holder ---------------\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \\r
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -164,3 +167,4 @@\r
+ # undef N\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/object/make_holder.hpp\r
+===================================================================\r
+--- /trunk/boost/python/object/make_holder.hpp (revision 39191)\r
++++ /trunk/boost/python/object/make_holder.hpp (revision 48960)\r
+@@ -48,5 +48,8 @@\r
+ # endif // MAKE_HOLDER_DWA20011215_HPP\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \\r
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -103,3 +106,4 @@\r
+ # undef N\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/object/pointer_holder.hpp\r
+===================================================================\r
+--- /trunk/boost/python/object/pointer_holder.hpp (revision 41521)\r
++++ /trunk/boost/python/object/pointer_holder.hpp (revision 48960)\r
+@@ -171,5 +171,8 @@\r
+ \r
+ /* --------------- pointer_holder --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \\r
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -213,3 +216,4 @@\r
+ # undef N\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/call_method.hpp\r
+===================================================================\r
+--- /trunk/boost/python/call_method.hpp (revision 24614)\r
++++ /trunk/boost/python/call_method.hpp (revision 48960)\r
+@@ -38,5 +38,8 @@\r
+ # endif // CALL_METHOD_DWA2002411_HPP\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \\r
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -77,3 +80,4 @@\r
+ # undef N\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/python/detail/target.hpp\r
+===================================================================\r
+--- /trunk/boost/python/detail/target.hpp (revision 24614)\r
++++ /trunk/boost/python/detail/target.hpp (revision 48960)\r
+@@ -38,5 +38,8 @@\r
+ \r
+ /* --------------- function pointers --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \\r
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -80,3 +83,4 @@\r
+ # undef Q\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/detail/result.hpp\r
+===================================================================\r
+--- /trunk/boost/python/detail/result.hpp (revision 43799)\r
++++ /trunk/boost/python/detail/result.hpp (revision 48960)\r
+@@ -87,5 +87,8 @@\r
+ \r
+ /* --------------- function pointers --------------- */\r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 && BOOST_PP_ITERATION_FLAGS() == BOOST_PYTHON_FUNCTION_POINTER\r
+ # if !(BOOST_WORKAROUND(__MWERKS__, > 0x3100) \\r
+ && BOOST_WORKAROUND(__MWERKS__, BOOST_TESTED_AT(0x3201)))\r
+@@ -129,3 +132,4 @@\r
+ # undef Q\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif\r
+Index: /trunk/boost/python/signature.hpp\r
+===================================================================\r
+--- /trunk/boost/python/signature.hpp (revision 24055)\r
++++ /trunk/boost/python/signature.hpp (revision 48960)\r
+@@ -114,5 +114,8 @@\r
+ # endif // SIGNATURE_JDG20020813_HPP\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1 // defined(BOOST_PP_IS_ITERATING)\r
+ \r
+ # define N BOOST_PP_ITERATION()\r
+@@ -177,3 +180,4 @@\r
+ # undef N\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // !defined(BOOST_PP_IS_ITERATING)\r
+Index: /trunk/boost/mpl/aux_/numeric_op.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/numeric_op.hpp (revision 30670)\r
++++ /trunk/boost/mpl/aux_/numeric_op.hpp (revision 48960)\r
+@@ -288,5 +288,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ \r
+ # define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -309,3 +312,4 @@\r
+ # undef i_\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/aux_/advance_backward.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/advance_backward.hpp (revision 24874)\r
++++ /trunk/boost/mpl/aux_/advance_backward.hpp (revision 48960)\r
+@@ -80,5 +80,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
+ \r
+@@ -122,3 +125,4 @@\r
+ # undef AUX778076_ITER_0\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/aux_/full_lambda.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/full_lambda.hpp (revision 24896)\r
++++ /trunk/boost/mpl/aux_/full_lambda.hpp (revision 48960)\r
+@@ -228,5 +228,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
+ \r
+@@ -348,3 +351,4 @@\r
+ \r
+ #undef i_\r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/aux_/advance_forward.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/aux_/advance_forward.hpp (revision 24874)\r
++++ /trunk/boost/mpl/aux_/advance_forward.hpp (revision 48960)\r
+@@ -80,5 +80,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ #define i_ BOOST_PP_FRAME_ITERATION(1)\r
+ \r
+@@ -121,3 +124,4 @@\r
+ # undef AUX778076_ITER_0\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/unpack_args.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/unpack_args.hpp (revision 24874)\r
++++ /trunk/boost/mpl/unpack_args.hpp (revision 48960)\r
+@@ -112,5 +112,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ \r
+ # define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -144,3 +147,4 @@\r
+ # undef i_\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/bind.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/bind.hpp (revision 25875)\r
++++ /trunk/boost/mpl/bind.hpp (revision 48960)\r
+@@ -362,5 +362,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ \r
+ # define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -545,3 +548,4 @@\r
+ # undef j_\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/apply.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/apply.hpp (revision 24874)\r
++++ /trunk/boost/mpl/apply.hpp (revision 48960)\r
+@@ -136,5 +136,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ \r
+ # define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -223,3 +226,4 @@\r
+ # undef i_\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r
+Index: /trunk/boost/mpl/apply_wrap.hpp\r
+===================================================================\r
+--- /trunk/boost/mpl/apply_wrap.hpp (revision 24892)\r
++++ /trunk/boost/mpl/apply_wrap.hpp (revision 48960)\r
+@@ -79,5 +79,8 @@\r
+ ///// iteration, depth == 1\r
+ \r
+-#elif BOOST_PP_ITERATION_DEPTH() == 1\r
++// For gcc 4.4 compatability, we must include the\r
++// BOOST_PP_ITERATION_DEPTH test inside an #else clause.\r
++#else // BOOST_PP_IS_ITERATING\r
++#if BOOST_PP_ITERATION_DEPTH() == 1\r
+ \r
+ # define i_ BOOST_PP_FRAME_ITERATION(1)\r
+@@ -198,3 +201,4 @@\r
+ # undef j_\r
+ \r
++#endif // BOOST_PP_ITERATION_DEPTH()\r
+ #endif // BOOST_PP_IS_ITERATING\r