diff --git a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/cache_run_c_code b/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/cache_run_c_code
deleted file mode 100644
index 990e234..0000000
--- a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/cache_run_c_code
+++ /dev/null
@@ -1 +0,0 @@
-cache_run_c_code = 0
diff --git a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/test.cpp b/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/test.cpp
deleted file mode 100644
index cdf6578..0000000
--- a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/test.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
diff --git a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/.wafpickle-darwin-34014448-98 b/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/.wafpickle-darwin-34014448-98
deleted file mode 100644
index f0b3bd8..0000000
--- a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/.wafpickle-darwin-34014448-98
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/test.cpp.1.o b/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/test.cpp.1.o
deleted file mode 100644
index 126147e..0000000
--- a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/test.cpp.1.o
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/testprog b/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/testprog
deleted file mode 100755
index 113a0ef..0000000
--- a/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/testprog
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/cache_run_c_code b/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/cache_run_c_code
deleted file mode 100644
index 990e234..0000000
--- a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/cache_run_c_code
+++ /dev/null
@@ -1 +0,0 @@
-cache_run_c_code = 0
diff --git a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/test.cpp b/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/test.cpp
deleted file mode 100644
index cdf6578..0000000
--- a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/test.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
diff --git a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/.wafpickle-darwin-34014448-98 b/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/.wafpickle-darwin-34014448-98
deleted file mode 100644
index f2dc44c..0000000
--- a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/.wafpickle-darwin-34014448-98
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/test.cpp.1.o b/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/test.cpp.1.o
deleted file mode 100644
index d01b4f9..0000000
--- a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/test.cpp.1.o
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/testprog b/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/testprog
deleted file mode 100755
index 07aa31b..0000000
--- a/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/testprog
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/cache_run_c_code b/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/cache_run_c_code
deleted file mode 100644
index 990e234..0000000
--- a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/cache_run_c_code
+++ /dev/null
@@ -1 +0,0 @@
-cache_run_c_code = 0
diff --git a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/test.cpp b/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/test.cpp
deleted file mode 100644
index cdf6578..0000000
--- a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/test.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
diff --git a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/.wafpickle-darwin-34014448-98 b/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/.wafpickle-darwin-34014448-98
deleted file mode 100644
index 542a0e0..0000000
--- a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/.wafpickle-darwin-34014448-98
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/test.cpp.1.o b/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/test.cpp.1.o
deleted file mode 100644
index 126147e..0000000
--- a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/test.cpp.1.o
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/testprog b/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/testprog
deleted file mode 100755
index 113a0ef..0000000
--- a/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/testprog
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/cache_run_c_code b/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/cache_run_c_code
deleted file mode 100644
index 990e234..0000000
--- a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/cache_run_c_code
+++ /dev/null
@@ -1 +0,0 @@
-cache_run_c_code = 0
diff --git a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/test.cpp b/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/test.cpp
deleted file mode 100644
index cdf6578..0000000
--- a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/test.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
diff --git a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/.wafpickle-darwin-34014448-98 b/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/.wafpickle-darwin-34014448-98
deleted file mode 100644
index f2e0a37..0000000
--- a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/.wafpickle-darwin-34014448-98
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/test.cpp.1.o b/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/test.cpp.1.o
deleted file mode 100644
index 97cc5a1..0000000
--- a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/test.cpp.1.o
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/testprog b/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/testprog
deleted file mode 100755
index 34f2554..0000000
--- a/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/testprog
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/cache_run_c_code b/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/cache_run_c_code
deleted file mode 100644
index 990e234..0000000
--- a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/cache_run_c_code
+++ /dev/null
@@ -1 +0,0 @@
-cache_run_c_code = 0
diff --git a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/test.cpp b/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/test.cpp
deleted file mode 100644
index cdf6578..0000000
--- a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/test.cpp
+++ /dev/null
@@ -1,5 +0,0 @@
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
diff --git a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/.wafpickle-darwin-34014448-98 b/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/.wafpickle-darwin-34014448-98
deleted file mode 100644
index 24fc64c..0000000
--- a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/.wafpickle-darwin-34014448-98
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/test.cpp.1.o b/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/test.cpp.1.o
deleted file mode 100644
index 126147e..0000000
--- a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/test.cpp.1.o
+++ /dev/null
Binary files differ
diff --git a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/testprog b/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/testprog
deleted file mode 100755
index 113a0ef..0000000
--- a/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/testprog
+++ /dev/null
Binary files differ
diff --git a/build/.lock-waf_darwin_build b/build/.lock-waf_darwin_build
deleted file mode 100644
index f689a1f..0000000
--- a/build/.lock-waf_darwin_build
+++ /dev/null
@@ -1,8 +0,0 @@
-argv = ['./waf', 'configure']
-environ = {'TERM_SESSION_ID': '22C51EB1-3830-4DC9-865A-155EAB61DB45', 'SSH_AUTH_SOCK': '/tmp/launch-qSNFvC/Listeners', 'TERM_PROGRAM_VERSION': '309', 'SHELL': '/bin/bash', 'LOGNAME': 'akmhoque', 'USER': 'akmhoque', 'HOME': '/Users/akmhoque', 'PATH': '/usr/local/ndn/bin:/usr/local/ndn/sbin:/usr/local/ndn/bin:/usr/local/ndn/sbin:/usr/local/ndn/bin:/usr/local/ndn/sbin:/usr/local/ndn/bin:/usr/local/ndn/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/X11/bin', 'DISPLAY': '/tmp/launch-rmGR2h/org.macosforge.xquartz:0', 'TMPDIR': '/var/folders/lg/h72gk679087gz9scbvnpfq_m0000gn/T/', 'TERM_PROGRAM': 'Apple_Terminal', 'LANG': 'en_US.UTF-8', 'TERM': 'xterm-256color', 'Apple_PubSub_Socket_Render': '/tmp/launch-FOo7rc/Render', 'SHLVL': '1', 'OLDPWD': '/Users/akmhoque/NLSR-CPP', '__CF_USER_TEXT_ENCODING': '0x1F5:0:0', 'Apple_Ubiquity_Message': '/tmp/launch-5TatUj/Apple_Ubiquity_Message', 'PWD': '/Users/akmhoque/NLSR0.0', '_': './waf', 'COMMAND_MODE': 'unix2003'}
-files = ['/Users/akmhoque/NLSR0.0/wscript']
-hash = 4839173976587730339
-options = {'force': False, 'verbose': 0, 'boost_python': '27', 'SHAREDSTATEDIR': '', 'destdir': '', 'zones': '', 'prefix': '/usr/local/', 'download': False, 'boost_mt': False, 'targets': '', 'MANDIR': '', 'boost_libs': '', 'INFODIR': '', 'nocache': False, 'progress_bar': 0, 'EXEC_PREFIX': '', 'top': '', 'LOCALSTATEDIR': '', 'INCLUDEDIR': '', 'LIBEXECDIR': '', 'out': '', 'check_cxx_compiler': 'g++', 'PSDIR': '', 'BINDIR': '', 'files': '', 'DOCDIR': '', 'SYSCONFDIR': '', 'jobs': 2, 'DATAROOTDIR': '', 'boost_toolset': '', 'distcheck_args': None, 'boost_includes': '', 'PDFDIR': '', 'DATADIR': '', 'LIBDIR': '', 'SBINDIR': '', 'boost_abi': '', 'boost_linkage_autodetect': None, 'boost_static': False, 'HTMLDIR': '', 'LOCALEDIR': '', 'keep': 0, 'debug': False, 'DVIDIR': '', 'check_c_compiler': 'gcc', 'OLDINCLUDEDIR': ''}
-out_dir = '/Users/akmhoque/NLSR0.0/build'
-run_dir = '/Users/akmhoque/NLSR0.0'
-top_dir = '/Users/akmhoque/NLSR0.0'
diff --git a/build/c4che/_cache.py b/build/c4che/_cache.py
deleted file mode 100644
index 2e85e65..0000000
--- a/build/c4che/_cache.py
+++ /dev/null
@@ -1,66 +0,0 @@
-AR = '/usr/bin/ar'
-ARCH_ST = ['-arch']
-ARFLAGS = 'rcs'
-BINDIR = '/usr/local/bin'
-CC_VERSION = ('5', '0', '0')
-COMPILER_CXX = 'g++'
-CPPPATH_ST = '-I%s'
-CXX = ['/usr/bin/g++']
-CXXFLAGS = ['-O3', '-g', '-Wno-tautological-compare', '-Wno-unused-function', '-Wno-deprecated-declarations']
-CXXFLAGS_MACBUNDLE = ['-fPIC']
-CXXFLAGS_cxxshlib = ['-fPIC']
-CXXLNK_SRC_F = []
-CXXLNK_TGT_F = ['-o']
-CXX_NAME = 'gcc'
-CXX_SRC_F = []
-CXX_TGT_F = ['-c', '-o']
-DATADIR = '/usr/local/share'
-DATAROOTDIR = '/usr/local/share'
-DEFINES = ['HAVE_NDN_CPP=1']
-DEFINES_ST = '-D%s'
-DEST_BINFMT = 'mac-o'
-DEST_CPU = 'x86_64'
-DEST_OS = 'darwin'
-DOCDIR = '/usr/local/share/doc/'
-DVIDIR = '/usr/local/share/doc/'
-EXEC_PREFIX = '/usr/local'
-FRAMEWORKPATH_ST = '-F%s'
-FRAMEWORK_NDN_CPP = ['CoreFoundation', 'Security']
-FRAMEWORK_ST = ['-framework']
-HTMLDIR = '/usr/local/share/doc/'
-INCLUDEDIR = '/usr/local/include'
-INCLUDES_NDN_CPP = ['/usr/local/include', '/usr/local/ndn/include']
-INFODIR = '/usr/local/share/info'
-LIBDIR = '/usr/local/lib'
-LIBEXECDIR = '/usr/local/libexec'
-LIBPATH_NDN_CPP = ['/usr/local/lib', '/usr/lib', '/usr/local/ndn/lib']
-LIBPATH_ST = '-L%s'
-LIB_NDN_CPP = ['ndn-cpp-dev', 'boost_system', 'boost_filesystem', 'boost_date_time', 'boost_iostreams', 'boost_regex', 'ssl', 'crypto', 'cryptopp', 'sqlite3', 'pthread']
-LIB_ST = '-l%s'
-LINKFLAGS_MACBUNDLE = ['-bundle', '-undefined', 'dynamic_lookup']
-LINKFLAGS_cxxshlib = ['-dynamiclib', '-Wl,-compatibility_version,1', '-Wl,-current_version,1']
-LINKFLAGS_cxxstlib = []
-LINK_CXX = ['/usr/bin/g++']
-LOCALEDIR = '/usr/local/share/locale'
-LOCALSTATEDIR = '/usr/local/var'
-MANDIR = '/usr/local/share/man'
-OLDINCLUDEDIR = '/usr/include'
-PACKAGE = []
-PDFDIR = '/usr/local/share/doc/'
-PKGCONFIG = '/usr/local/ndn/bin/pkg-config'
-PREFIX = '/usr/local'
-PSDIR = '/usr/local/share/doc/'
-RPATH_ST = '-Wl,-rpath,%s'
-SBINDIR = '/usr/local/sbin'
-SHAREDSTATEDIR = '/usr/local/com'
-SHLIB_MARKER = []
-SONAME_ST = []
-STLIBPATH_ST = '-L%s'
-STLIB_MARKER = []
-STLIB_ST = '-l%s'
-SYSCONFDIR = '/usr/local/etc'
-cxxprogram_PATTERN = '%s'
-cxxshlib_PATTERN = 'lib%s.dylib'
-cxxstlib_PATTERN = 'lib%s.a'
-define_key = ['HAVE_NDN_CPP']
-macbundle_PATTERN = '%s.bundle'
diff --git a/build/c4che/build.config.py b/build/c4che/build.config.py
deleted file mode 100644
index c0d1281..0000000
--- a/build/c4che/build.config.py
+++ /dev/null
@@ -1,2 +0,0 @@
-version = 0x1070d00
-tools = [{'tool': 'ar', 'tooldir': None, 'funs': None}, {'tool': 'cxx', 'tooldir': None, 'funs': None}, {'tool': 'g++', 'tooldir': None, 'funs': None}, {'tool': 'compiler_cxx', 'tooldir': None, 'funs': None}, {'tool': 'boost', 'tooldir': None, 'funs': None}, {'tool': 'gnu_dirs', 'tooldir': None, 'funs': None}]
diff --git a/build/config.log b/build/config.log
deleted file mode 100644
index 269fc4d..0000000
--- a/build/config.log
+++ /dev/null
@@ -1,98 +0,0 @@
-# project  configured on Sat Feb  1 23:54:56 2014 by
-# waf 1.7.13 (abi 98, python 20704f0 on darwin)
-# using ./waf configure
-#
-----------------------------------------
-Setting top to
-/Users/akmhoque/NLSR0.0
-----------------------------------------
-Setting out to
-/Users/akmhoque/NLSR0.0/build
-----------------------------------------
-Checking for 'g++' (c++ compiler)
-find program=['g++', 'c++'] paths=['/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/Library/Frameworks/Python.framework/Versions/2.7/bin', '/opt/local/bin', '/opt/local/sbin', '/opt/local/bin', '/opt/local/sbin', '/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin', '/opt/X11/bin'] var='CXX' -> '/usr/bin/g++'
-find program=['ar'] paths=['/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/Library/Frameworks/Python.framework/Versions/2.7/bin', '/opt/local/bin', '/opt/local/sbin', '/opt/local/bin', '/opt/local/sbin', '/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin', '/opt/X11/bin'] var='AR' -> '/usr/bin/ar'
-/usr/bin/g++
-----------------------------------------
-Checking allowed flags for c++ compiler
-==>
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
-
-<==
-[1/2] [32mcxx: build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/test.cpp -> build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/test.cpp.1.o
-[0m
-['/usr/bin/g++', '-O3', '../test.cpp', '-c', '-o', 'test.cpp.1.o']
-[2/2] [33mcxxprogram: build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/test.cpp.1.o -> build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/testprog
-[0m
-['/usr/bin/g++', 'test.cpp.1.o', '-o', '/Users/akmhoque/NLSR0.0/build/.conf_check_c72b9e6991dae6abd356d1d5b3a19170/testbuild/testprog']
-==>
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
-
-<==
-[1/2] [32mcxx: build/.conf_check_4a6655f9e1d4a2082f457991481562c7/test.cpp -> build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/test.cpp.1.o
-[0m
-['/usr/bin/g++', '-g', '../test.cpp', '-c', '-o', 'test.cpp.1.o']
-[2/2] [33mcxxprogram: build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/test.cpp.1.o -> build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/testprog
-[0m
-['/usr/bin/g++', 'test.cpp.1.o', '-o', '/Users/akmhoque/NLSR0.0/build/.conf_check_4a6655f9e1d4a2082f457991481562c7/testbuild/testprog']
-==>
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
-
-<==
-[1/2] [32mcxx: build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/test.cpp -> build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/test.cpp.1.o
-[0m
-['/usr/bin/g++', '-Wno-tautological-compare', '../test.cpp', '-c', '-o', 'test.cpp.1.o']
-[2/2] [33mcxxprogram: build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/test.cpp.1.o -> build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/testprog
-[0m
-['/usr/bin/g++', 'test.cpp.1.o', '-o', '/Users/akmhoque/NLSR0.0/build/.conf_check_03c2709ca989fcd1a99ef5b353768db0/testbuild/testprog']
-==>
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
-
-<==
-[1/2] [32mcxx: build/.conf_check_ef6d11ef93dc201e640c414d940983ad/test.cpp -> build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/test.cpp.1.o
-[0m
-['/usr/bin/g++', '-Wno-unused-function', '../test.cpp', '-c', '-o', 'test.cpp.1.o']
-[2/2] [33mcxxprogram: build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/test.cpp.1.o -> build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/testprog
-[0m
-['/usr/bin/g++', 'test.cpp.1.o', '-o', '/Users/akmhoque/NLSR0.0/build/.conf_check_ef6d11ef93dc201e640c414d940983ad/testbuild/testprog']
-==>
-
-int main(int argc, char **argv) {
-	(void)argc; (void)argv;
-	return 0;
-}
-
-<==
-[1/2] [32mcxx: build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/test.cpp -> build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/test.cpp.1.o
-[0m
-['/usr/bin/g++', '-Wno-deprecated-declarations', '../test.cpp', '-c', '-o', 'test.cpp.1.o']
-[2/2] [33mcxxprogram: build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/test.cpp.1.o -> build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/testprog
-[0m
-['/usr/bin/g++', 'test.cpp.1.o', '-o', '/Users/akmhoque/NLSR0.0/build/.conf_check_7cad001db13b1f2fd0a663aabc37630a/testbuild/testprog']
--O3 -g -Wno-tautological-compare -Wno-unused-function -Wno-deprecated-declarations
-----------------------------------------
-Checking for program pkg-config
-/usr/local/ndn/bin/pkg-config
-find program=['pkg-config'] paths=['/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/usr/local/ndn/bin', '/usr/local/ndn/sbin', '/Library/Frameworks/Python.framework/Versions/2.7/bin', '/opt/local/bin', '/opt/local/sbin', '/opt/local/bin', '/opt/local/sbin', '/usr/bin', '/bin', '/usr/sbin', '/sbin', '/usr/local/bin', '/opt/X11/bin'] var='PKGCONFIG' -> '/usr/local/ndn/bin/pkg-config'
-----------------------------------------
-Checking for 'libndn-cpp-dev'
-['/usr/local/ndn/bin/pkg-config', '--cflags', '--libs', 'libndn-cpp-dev']
-out: -I/usr/local/include -I/usr/local/ndn/include -L/usr/local/lib -L/usr/lib -L/usr/local/ndn/lib -lndn-cpp-dev -lboost_system -lboost_filesystem -lboost_date_time -lboost_iostreams -lboost_regex -lssl -lcrypto -lcryptopp -lsqlite3 -lpthread -framework CoreFoundation -framework Security  
-
-yes
