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/configure.ac b/configure.ac
index 25c7c57..036b00f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -38,6 +38,29 @@
     AC_DEFINE_UNQUOTED([HAVE_BOOST_SHARED_PTR], 0, [1 if have the `boost::shared_ptr' class.])
 ])
 
+AC_MSG_CHECKING([for std::function])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+    [[#include <functional>]]
+    [[std::function<int> have_function();]])
+], [
+    AC_MSG_RESULT([yes])
+    AC_DEFINE_UNQUOTED([HAVE_STD_FUNCTION], 1, [1 if have the `std::function' class.])
+], [
+    AC_MSG_RESULT([no])
+    AC_DEFINE_UNQUOTED([HAVE_STD_FUNCTION], 0, [1 if have the `std::function' class.])
+])
+AC_MSG_CHECKING([for boost::function])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
+    [[#include <boost/function.hpp>]]
+    [[boost::function<int> have_function();]])
+], [
+    AC_MSG_RESULT([yes])
+    AC_DEFINE_UNQUOTED([HAVE_BOOST_FUNCTION], 1, [1 if have the `boost::function' class.])
+], [
+    AC_MSG_RESULT([no])
+    AC_DEFINE_UNQUOTED([HAVE_BOOST_FUNCTION], 0, [1 if have the `boost::function' class.])
+])
+
 AC_MSG_CHECKING([for memcmp])
 AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
     [[#include <memory.h>]]