Implement function as wrapper for std::make_unique
method to be compatible with gcc < 4.9 .
"error::make_unique is not a member of 'std'"

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>

diff -Naur node-v10.15.1/src/cares_wrap.cc node-v10.15.1/src/cares_wrap.cc
--- node-v10.15.1/src/cares_wrap.cc	2019-01-29 08:20:50.000000000 +0100
+++ node-v10.15.1/src/cares_wrap.cc	2019-02-21 16:22:25.489131665 +0100
@@ -52,6 +52,16 @@
 # define AI_V4MAPPED 0
 #endif
 
+#ifndef __cpp_lib_make_unique
+namespace std {
+  /// make_unique implementation
+  template<typename T, typename... Args>
+  std::unique_ptr<T> make_unique(Args&&... args) {
+    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+  }
+}
+#endif
+
 namespace node {
 namespace cares_wrap {
 
diff -Naur node-v10.15.1/src/inspector_agent.cc node-v10.15.1/src/inspector_agent.cc
--- node-v10.15.1/src/inspector_agent.cc	2019-01-29 08:20:50.000000000 +0100
+++ node-v10.15.1/src/inspector_agent.cc	2019-02-21 16:22:09.000185992 +0100
@@ -24,6 +24,16 @@
 #include <pthread.h>
 #endif  // __POSIX__
 
+#ifndef __cpp_lib_make_unique
+namespace std {
+  /// make_unique implementation
+  template<typename T, typename... Args>
+  std::unique_ptr<T> make_unique(Args&&... args) {
+    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+  }
+}
+#endif
+
 namespace node {
 namespace inspector {
 namespace {

diff --git a/src/inspector/main_thread_interface.cc b/src/inspector/main_thread_interface.cc
index e374c0fd70..05d7d8c60f 100644
--- a/src/inspector/main_thread_interface.cc
+++ b/src/inspector/main_thread_interface.cc
@@ -6,6 +6,16 @@
 #include <functional>
 #include <unicode/unistr.h>

+#ifndef __cpp_lib_make_unique
+namespace std {
+  /// make_unique implementation
+  template<typename T, typename... Args>
+  std::unique_ptr<T> make_unique(Args&&... args) {
+    return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+  }
+}
+#endif
+
 namespace node {
 namespace inspector {
 namespace {
