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/config/select_compiler_config.hpp b/ndnboost/config/select_compiler_config.hpp
index ea47d40..2d3cde3 100644
--- a/ndnboost/config/select_compiler_config.hpp
+++ b/ndnboost/config/select_compiler_config.hpp
@@ -33,6 +33,10 @@
 // PathScale EKOPath compiler (has to come before clang and gcc)
 #   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/pathscale.hpp"
 
+#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
+//  Intel
+#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/intel.hpp"
+
 #elif defined __clang__
 //  Clang C++ emulates GCC, so it has to appear early.
 #   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/clang.hpp"
@@ -41,10 +45,6 @@
 //  Digital Mars C++
 #   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/digitalmars.hpp"
 
-#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
-//  Intel
-#   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/intel.hpp"
-
 # elif defined __GNUC__
 //  GNU C++:
 #   define BOOST_COMPILER_CONFIG "ndnboost/config/compiler/gcc.hpp"