diff --git a/include/ndnboost/config/user.hpp b/include/ndnboost/config/user.hpp
index 2a5c15c..ce06075 100644
--- a/include/ndnboost/config/user.hpp
+++ b/include/ndnboost/config/user.hpp
@@ -14,32 +14,32 @@
 //
 
 // define this to locate a compiler config file:
-// #define BOOST_COMPILER_CONFIG <myheader>
+// #define NDNBOOST_COMPILER_CONFIG <myheader>
 
 // define this to locate a stdlib config file:
-// #define BOOST_STDLIB_CONFIG   <myheader>
+// #define NDNBOOST_STDLIB_CONFIG   <myheader>
 
 // define this to locate a platform config file:
-// #define BOOST_PLATFORM_CONFIG <myheader>
+// #define NDNBOOST_PLATFORM_CONFIG <myheader>
 
 // define this to disable compiler config,
 // use if your compiler config has nothing to set:
-// #define BOOST_NO_COMPILER_CONFIG
+// #define NDNBOOST_NO_COMPILER_CONFIG
 
 // define this to disable stdlib config,
 // use if your stdlib config has nothing to set:
-// #define BOOST_NO_STDLIB_CONFIG
+// #define NDNBOOST_NO_STDLIB_CONFIG
 
 // define this to disable platform config,
 // use if your platform config has nothing to set:
-// #define BOOST_NO_PLATFORM_CONFIG
+// #define NDNBOOST_NO_PLATFORM_CONFIG
 
 // define this to disable all config options,
 // excluding the user config.  Use if your
 // setup is fully ISO compliant, and has no
 // useful extensions, or for autoconf generated
 // setups:
-// #define BOOST_NO_CONFIG
+// #define NDNBOOST_NO_CONFIG
 
 // define this to make the config "optimistic"
 // about unknown compiler versions.  Normally
@@ -48,39 +48,39 @@
 // setting this flag, causes the config to assume
 // that unknown compiler versions are fully conformant
 // with the standard:
-// #define BOOST_STRICT_CONFIG
+// #define NDNBOOST_STRICT_CONFIG
 
 // define this to cause the config to halt compilation
 // with an #error if it encounters anything unknown --
 // either an unknown compiler version or an unknown
 // compiler/platform/library:
-// #define BOOST_ASSERT_CONFIG
+// #define NDNBOOST_ASSERT_CONFIG
 
 
 // define if you want to disable threading support, even
 // when available:
-// #define BOOST_DISABLE_THREADS
+// #define NDNBOOST_DISABLE_THREADS
 
 // define when you want to disable Win32 specific features
 // even when available:
-// #define BOOST_DISABLE_WIN32
+// #define NDNBOOST_DISABLE_WIN32
 
-// BOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any 
+// NDNBOOST_DISABLE_ABI_HEADERS: Stops boost headers from including any 
 // prefix/suffix headers that normally control things like struct 
 // packing and alignment. 
-// #define BOOST_DISABLE_ABI_HEADERS
+// #define NDNBOOST_DISABLE_ABI_HEADERS
 
-// BOOST_ABI_PREFIX: A prefix header to include in place of whatever
+// NDNBOOST_ABI_PREFIX: A prefix header to include in place of whatever
 // boost.config would normally select, any replacement should set up 
 // struct packing and alignment options as required. 
-// #define BOOST_ABI_PREFIX my-header-name
+// #define NDNBOOST_ABI_PREFIX my-header-name
 
-// BOOST_ABI_SUFFIX: A suffix header to include in place of whatever 
+// NDNBOOST_ABI_SUFFIX: A suffix header to include in place of whatever 
 // boost.config would normally select, any replacement should undo 
 // the effects of the prefix header. 
-// #define BOOST_ABI_SUFFIX my-header-name
+// #define NDNBOOST_ABI_SUFFIX my-header-name
 
-// BOOST_ALL_DYN_LINK: Forces all libraries that have separate source, 
+// NDNBOOST_ALL_DYN_LINK: Forces all libraries that have separate source, 
 // to be linked as dll's rather than static libraries on Microsoft Windows 
 // (this macro is used to turn on __declspec(dllimport) modifiers, so that 
 // the compiler knows which symbols to look for in a dll rather than in a 
@@ -88,37 +88,37 @@
 // be statically linked (Boost.Test for example) and others which may only 
 // be dynamically linked (Boost.Threads for example), in these cases this 
 // macro has no effect.
-// #define BOOST_ALL_DYN_LINK
+// #define NDNBOOST_ALL_DYN_LINK
  
-// BOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll 
+// NDNBOOST_WHATEVER_DYN_LINK: Forces library "whatever" to be linked as a dll 
 // rather than a static library on Microsoft Windows: replace the WHATEVER 
 // part of the macro name with the name of the library that you want to 
-// dynamically link to, for example use BOOST_DATE_TIME_DYN_LINK or 
-// BOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) 
+// dynamically link to, for example use NDNBOOST_DATE_TIME_DYN_LINK or 
+// NDNBOOST_REGEX_DYN_LINK etc (this macro is used to turn on __declspec(dllimport) 
 // modifiers, so that the compiler knows which symbols to look for in a dll 
 // rather than in a static library).  
 // Note that there may be some libraries that can only be statically linked 
 // (Boost.Test for example) and others which may only be dynamically linked 
 // (Boost.Threads for example), in these cases this macro is unsupported.
-// #define BOOST_WHATEVER_DYN_LINK
+// #define NDNBOOST_WHATEVER_DYN_LINK
  
-// BOOST_ALL_NO_LIB: Tells the config system not to automatically select 
+// NDNBOOST_ALL_NO_LIB: Tells the config system not to automatically select 
 // which libraries to link against.  
 // Normally if a compiler supports #pragma lib, then the correct library 
 // build variant will be automatically selected and linked against, 
 // simply by the act of including one of that library's headers.  
 // This macro turns that feature off.
-// #define BOOST_ALL_NO_LIB
+// #define NDNBOOST_ALL_NO_LIB
  
-// BOOST_WHATEVER_NO_LIB: Tells the config system not to automatically 
+// NDNBOOST_WHATEVER_NO_LIB: Tells the config system not to automatically 
 // select which library to link against for library "whatever", 
 // replace WHATEVER in the macro name with the name of the library; 
-// for example BOOST_DATE_TIME_NO_LIB or BOOST_REGEX_NO_LIB.  
+// for example NDNBOOST_DATE_TIME_NO_LIB or NDNBOOST_REGEX_NO_LIB.  
 // Normally if a compiler supports #pragma lib, then the correct library 
 // build variant will be automatically selected and linked against, simply 
 // by the act of including one of that library's headers.  This macro turns 
 // that feature off.
-// #define BOOST_WHATEVER_NO_LIB
+// #define NDNBOOST_WHATEVER_NO_LIB
  
 
 
