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/encoding/block.cpp b/src/encoding/block.cpp
index 5656b61..fbd5838 100644
--- a/src/encoding/block.cpp
+++ b/src/encoding/block.cpp
@@ -7,8 +7,10 @@
  * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
  */
 
-#include "encoding/block.hpp"
-#include "encoding/tlv.hpp"
+#include "common.hpp"
+
+#include "block.hpp"
+#include "tlv.hpp"
 
 namespace ndn {
 
diff --git a/src/encoding/block.hpp b/src/encoding/block.hpp
index f515727..b729bc2 100644
--- a/src/encoding/block.hpp
+++ b/src/encoding/block.hpp
@@ -12,14 +12,9 @@
 
 #include "../common.hpp"
 
-#include <list>
-#include <exception>
-
 #include "buffer.hpp"
 #include "tlv.hpp"
 
-#include <boost/lexical_cast.hpp>
-
 namespace ndn {
 
 /**
diff --git a/src/encoding/buffer.hpp b/src/encoding/buffer.hpp
index 9742512..398817f 100644
--- a/src/encoding/buffer.hpp
+++ b/src/encoding/buffer.hpp
@@ -12,12 +12,6 @@
 
 #include "../common.hpp"
 
-#include <boost/iostreams/detail/ios.hpp>
-#include <boost/iostreams/categories.hpp>
-#include <boost/iostreams/stream.hpp>
-
-#include <vector>
-
 namespace ndn {
 
 class Buffer;
diff --git a/src/encoding/oid.cpp b/src/encoding/oid.cpp
index d023f82..ae4e12d 100644
--- a/src/encoding/oid.cpp
+++ b/src/encoding/oid.cpp
@@ -5,10 +5,10 @@
  * See COPYING for copyright and distribution information.
  */
 
-#include <stdlib.h>
-#include <sstream>
+#include "common.hpp"
 
-#include "encoding/oid.hpp"
+#include "oid.hpp"
+
 #include <cryptopp/asn.h>
 
 using namespace std;
diff --git a/src/encoding/oid.hpp b/src/encoding/oid.hpp
index e755c05..308da8e 100644
--- a/src/encoding/oid.hpp
+++ b/src/encoding/oid.hpp
@@ -9,8 +9,7 @@
 #ifndef NDN_OID_HPP
 #define NDN_OID_HPP
 
-#include <vector>
-#include <string>
+#include "../common.hpp"
 
 namespace CryptoPP { class BufferedTransformation; }