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"