diff --git a/include/ndnboost/config/stdlib/roguewave.hpp b/include/ndnboost/config/stdlib/roguewave.hpp
index 0571076..955c491 100644
--- a/include/ndnboost/config/stdlib/roguewave.hpp
+++ b/include/ndnboost/config/stdlib/roguewave.hpp
@@ -10,7 +10,7 @@
 
 //  Rogue Wave std lib:
 
-#define BOOST_RW_STDLIB 1 
+#define NDNBOOST_RW_STDLIB 1 
 
 #if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
 #  include <ndnboost/config/no_tr1/utility.hpp>
@@ -22,22 +22,22 @@
 // figure out a consistent version number:
 //
 #ifndef _RWSTD_VER
-#  define BOOST_RWSTD_VER 0x010000
+#  define NDNBOOST_RWSTD_VER 0x010000
 #elif _RWSTD_VER < 0x010000
-#  define BOOST_RWSTD_VER (_RWSTD_VER << 8)
+#  define NDNBOOST_RWSTD_VER (_RWSTD_VER << 8)
 #else
-#  define BOOST_RWSTD_VER _RWSTD_VER
+#  define NDNBOOST_RWSTD_VER _RWSTD_VER
 #endif
 
 #ifndef _RWSTD_VER
-#  define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
+#  define NDNBOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
 #elif _RWSTD_VER < 0x04010200
- #  define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)
+ #  define NDNBOOST_STDLIB "Rogue Wave standard library version " NDNBOOST_STRINGIZE(_RWSTD_VER)
 #else
 #  ifdef _RWSTD_VER_STR
-#    define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
+#    define NDNBOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR
 #  else
-#    define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER)
+#    define NDNBOOST_STDLIB "Apache STDCXX standard library version " NDNBOOST_STRINGIZE(_RWSTD_VER)
 #  endif
 #endif
 
@@ -46,53 +46,53 @@
 // does not have compile time constants, even though specializations of that
 // template do:
 //
-#if BOOST_RWSTD_VER < 0x020200
-#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
+#if NDNBOOST_RWSTD_VER < 0x020200
+#  define NDNBOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
 #endif
 
 // Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
 // library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
-#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
-#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
+#if NDNBOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
+#  define NDNBOOST_NO_LONG_LONG_NUMERIC_LIMITS
 # endif
 
 //
 // Borland version of numeric_limits lacks __int64 specialisation:
 //
 #ifdef __BORLANDC__
-#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
+#  define NDNBOOST_NO_MS_INT64_NUMERIC_LIMITS
 #endif
 
 //
 // No std::iterator if it can't figure out default template args:
 //
-#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)
-#  define BOOST_NO_STD_ITERATOR
+#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (NDNBOOST_RWSTD_VER < 0x020000)
+#  define NDNBOOST_NO_STD_ITERATOR
 #endif
 
 //
 // No iterator traits without partial specialization:
 //
 #if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)
-#  define BOOST_NO_STD_ITERATOR_TRAITS
+#  define NDNBOOST_NO_STD_ITERATOR_TRAITS
 #endif
 
 //
 // Prior to version 2.0, std::auto_ptr was buggy, and there were no
 // new-style iostreams, and no conformant std::allocator:
 //
-#if (BOOST_RWSTD_VER < 0x020000)
-#  define BOOST_NO_AUTO_PTR
-#  define BOOST_NO_STRINGSTREAM
-#  define BOOST_NO_STD_ALLOCATOR
-#  define BOOST_NO_STD_LOCALE
+#if (NDNBOOST_RWSTD_VER < 0x020000)
+#  define NDNBOOST_NO_AUTO_PTR
+#  define NDNBOOST_NO_STRINGSTREAM
+#  define NDNBOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_STD_LOCALE
 #endif
 
 //
 // No template iterator constructors without member template support:
 //
 #if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)
-#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
+#  define NDNBOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
 #endif
 
 //
@@ -101,38 +101,38 @@
 // on HP aCC systems even though the allocator is in fact broken):
 //
 #if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)
-#  define BOOST_NO_STD_ALLOCATOR
+#  define NDNBOOST_NO_STD_ALLOCATOR
 #endif
 
 //
 // If we have a std::locale, we still may not have std::use_facet:
 //
-#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)
-#  define BOOST_NO_STD_USE_FACET
-#  define BOOST_HAS_TWO_ARG_USE_FACET
+#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(NDNBOOST_NO_STD_LOCALE)
+#  define NDNBOOST_NO_STD_USE_FACET
+#  define NDNBOOST_HAS_TWO_ARG_USE_FACET
 #endif
 
 //
 // There's no std::distance prior to version 2, or without
 // partial specialization support:
 //
-#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
-    #define BOOST_NO_STD_DISTANCE
+#if (NDNBOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
+    #define NDNBOOST_NO_STD_DISTANCE
 #endif
 
 //
 // Some versions of the rogue wave library don't have assignable
 // OutputIterators:
 //
-#if BOOST_RWSTD_VER < 0x020100
-#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
+#if NDNBOOST_RWSTD_VER < 0x020100
+#  define NDNBOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
 #endif
 
 //
-// Disable BOOST_HAS_LONG_LONG when the library has no support for it.
+// Disable NDNBOOST_HAS_LONG_LONG when the library has no support for it.
 //
-#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
-#  undef BOOST_HAS_LONG_LONG
+#if !defined(_RWSTD_LONG_LONG) && defined(NDNBOOST_HAS_LONG_LONG)
+#  undef NDNBOOST_HAS_LONG_LONG
 #endif
 
 //
@@ -145,7 +145,7 @@
 //
 // Define macros specific to RW V2.2 on HP-UX
 //
-#if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100)
+#if defined(__HP_aCC) && (NDNBOOST_RWSTD_VER == 0x02020100)
 #  ifndef __HP_TC1_MAKE_PAIR
 #    define __HP_TC1_MAKE_PAIR
 #  endif
@@ -155,32 +155,32 @@
 #endif
 
 #if _RWSTD_VER < 0x05000000
-#  define BOOST_NO_CXX11_HDR_ARRAY
+#  define NDNBOOST_NO_CXX11_HDR_ARRAY
 #endif
 // type_traits header is incomplete:
-#  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
+#  define NDNBOOST_NO_CXX11_HDR_TYPE_TRAITS
 //
 //  C++0x headers not yet implemented
 //
-#  define BOOST_NO_CXX11_HDR_CHRONO
-#  define BOOST_NO_CXX11_HDR_CODECVT
-#  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
-#  define BOOST_NO_CXX11_HDR_FORWARD_LIST
-#  define BOOST_NO_CXX11_HDR_FUTURE
-#  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
-#  define BOOST_NO_CXX11_HDR_MUTEX
-#  define BOOST_NO_CXX11_HDR_RANDOM
-#  define BOOST_NO_CXX11_HDR_RATIO
-#  define BOOST_NO_CXX11_HDR_REGEX
-#  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
-#  define BOOST_NO_CXX11_HDR_THREAD
-#  define BOOST_NO_CXX11_HDR_TUPLE
-#  define BOOST_NO_CXX11_HDR_TYPEINDEX
-#  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
-#  define BOOST_NO_CXX11_HDR_UNORDERED_SET
-#  define BOOST_NO_CXX11_NUMERIC_LIMITS
-#  define BOOST_NO_CXX11_ALLOCATOR
-#  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
-#  define BOOST_NO_CXX11_SMART_PTR
-#  define BOOST_NO_CXX11_HDR_FUNCTIONAL
+#  define NDNBOOST_NO_CXX11_HDR_CHRONO
+#  define NDNBOOST_NO_CXX11_HDR_CODECVT
+#  define NDNBOOST_NO_CXX11_HDR_CONDITION_VARIABLE
+#  define NDNBOOST_NO_CXX11_HDR_FORWARD_LIST
+#  define NDNBOOST_NO_CXX11_HDR_FUTURE
+#  define NDNBOOST_NO_CXX11_HDR_INITIALIZER_LIST
+#  define NDNBOOST_NO_CXX11_HDR_MUTEX
+#  define NDNBOOST_NO_CXX11_HDR_RANDOM
+#  define NDNBOOST_NO_CXX11_HDR_RATIO
+#  define NDNBOOST_NO_CXX11_HDR_REGEX
+#  define NDNBOOST_NO_CXX11_HDR_SYSTEM_ERROR
+#  define NDNBOOST_NO_CXX11_HDR_THREAD
+#  define NDNBOOST_NO_CXX11_HDR_TUPLE
+#  define NDNBOOST_NO_CXX11_HDR_TYPEINDEX
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_MAP
+#  define NDNBOOST_NO_CXX11_HDR_UNORDERED_SET
+#  define NDNBOOST_NO_CXX11_NUMERIC_LIMITS
+#  define NDNBOOST_NO_CXX11_ALLOCATOR
+#  define NDNBOOST_NO_CXX11_ATOMIC_SMART_PTR
+#  define NDNBOOST_NO_CXX11_SMART_PTR
+#  define NDNBOOST_NO_CXX11_HDR_FUNCTIONAL
 
