build: Experimental support to build using precompiled headers

This type of build needs to be explicitly enabled using --with-pch
configure option.

Change-Id: I02dc304187d54c3cf40f1d51b1b11b21f868e225
diff --git a/src/transport/tcp-transport.cpp b/src/transport/tcp-transport.cpp
index a12c223..3c773a8 100644
--- a/src/transport/tcp-transport.cpp
+++ b/src/transport/tcp-transport.cpp
@@ -5,13 +5,10 @@
  * See COPYING for copyright and distribution information.
  */
 
-#include <stdexcept>
-#include <stdlib.h>
+#include "common.hpp"
 
-#include "face.hpp"
-#include "transport/tcp-transport.hpp"
+#include "tcp-transport.hpp"
 
-#include <boost/asio.hpp>
 #if NDN_CPP_HAVE_CXX11
 // In the std library, the placeholders are in a different namespace than boost.
 using namespace ndn::func_lib::placeholders;
diff --git a/src/transport/tcp-transport.hpp b/src/transport/tcp-transport.hpp
index 00f3fef..c2ba56e 100644
--- a/src/transport/tcp-transport.hpp
+++ b/src/transport/tcp-transport.hpp
@@ -8,7 +8,7 @@
 #ifndef NDN_TCP_TRANSPORT_HPP
 #define NDN_TCP_TRANSPORT_HPP
 
-#include <string>
+#include "../common.hpp"
 #include "transport.hpp"
 
 namespace ndn {
diff --git a/src/transport/transport.hpp b/src/transport/transport.hpp
index 41861b4..3b62a21 100644
--- a/src/transport/transport.hpp
+++ b/src/transport/transport.hpp
@@ -9,10 +9,7 @@
 #define NDN_TRANSPORT_HPP
 
 #include "../common.hpp"
-
-#include <vector>
-#include <boost/asio.hpp>
-#include <boost/lexical_cast.hpp>
+#include "../encoding/block.hpp"
 
 namespace ndn {
 
diff --git a/src/transport/unix-transport.cpp b/src/transport/unix-transport.cpp
index e258f11..4da0502 100644
--- a/src/transport/unix-transport.cpp
+++ b/src/transport/unix-transport.cpp
@@ -5,17 +5,11 @@
  * See COPYING for copyright and distribution information.
  */
 
-#include <stdexcept>
-#include <stdlib.h>
+#include "common.hpp"
 
-#include "face.hpp"
-#include "transport/unix-transport.hpp"
+#include "unix-transport.hpp"
 
-#include <boost/asio.hpp>
-#if NDN_CPP_HAVE_CXX11
-// In the std library, the placeholders are in a different namespace than boost.
-using namespace ndn::func_lib::placeholders;
-#endif
+#include "../face.hpp"
 
 using namespace std;
 typedef boost::asio::local::stream_protocol protocol;
diff --git a/src/transport/unix-transport.hpp b/src/transport/unix-transport.hpp
index c2ee204..26621d7 100644
--- a/src/transport/unix-transport.hpp
+++ b/src/transport/unix-transport.hpp
@@ -8,7 +8,7 @@
 #ifndef NDN_UDPTRANSPORT_HPP
 #define NDN_UDPTRANSPORT_HPP
 
-#include <string>
+#include "../common.hpp"
 #include "transport.hpp"
 
 namespace ndn {