In common.h, define func_lib for function objects.  In configure.ac, define HAVE_STD_FUNCTION and HAVE_BOOST_FUNCTION.  Include function headers in ndnboost.
diff --git a/ndnboost/smart_ptr/detail/array_deleter.hpp b/ndnboost/smart_ptr/detail/array_deleter.hpp
index 2afe96c..14dcfb2 100644
--- a/ndnboost/smart_ptr/detail/array_deleter.hpp
+++ b/ndnboost/smart_ptr/detail/array_deleter.hpp
@@ -19,8 +19,8 @@
         template<typename T>
         class array_deleter<T[]> {
         public:
-            array_deleter(std::size_t size)
-                : size(size),
+            array_deleter(std::size_t size_)
+                : size(size_),
                   object(0) {
             }
             ~array_deleter() {