Remove dependency on node c-ares
diff --git a/binding.gyp b/binding.gyp
index cc942c2..4046226 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -47,7 +47,8 @@
         "include_dirs": [
           "third_party/boringssl/include",
           "third_party/zlib",
-          "third_party/c-ares"
+          "third_party/c-ares",
+          "src/c-ares",
         ],
         "defines": [
           '_WIN32_WINNT=0x0600',
@@ -86,7 +87,8 @@
         'include_dirs': [
           '<(node_root_dir)/deps/openssl/openssl/include',
           '<(node_root_dir)/deps/zlib',
-          '<(node_root_dir)/deps/cares/include'
+          "third_party/c-ares",
+          "src/c-ares"
         ],
         'conditions': [
           ['config=="gcov"', {
@@ -485,7 +487,6 @@
     }]
   ],
   'targets': [
-
     {
       'cflags': [
         '-std=c99',
@@ -563,7 +564,6 @@
       'type': 'static_library',
       'dependencies': [
         'gpr',
-        'node_modules/cares/deps/cares/cares.gyp:cares',
       ],
       'sources': [
         'src/core/lib/surface/init.c',
@@ -739,7 +739,7 @@
         'third_party/nanopb/pb_encode.c',
         'src/core/ext/lb_policy/pick_first/pick_first.c',
         'src/core/ext/lb_policy/round_robin/round_robin.c',
-        'src/core/ext/resolver/dns/c_ares/dns_resolver.c',
+        'src/core/ext/resolver/dns/c_ares/dns_resolver_ares.c',
         'src/core/ext/resolver/dns/c_ares/grpc_ares_ev_driver_posix.c',
         'src/core/ext/resolver/dns/c_ares/grpc_ares_wrapper.c',
         'src/core/ext/resolver/dns/native/dns_resolver.c',
@@ -769,6 +769,86 @@
       ]
     },
     {
+      'cflags': [
+        '-Wall',
+        '-Werror',
+        '-Wno-implicit-function-declaration'
+      ],
+      'include_dirs': [ 'src/c-ares' ],
+      'target_name': 'ares',
+      'product_prefix': 'lib',
+      'type': 'static_library',
+      'dependencies': [
+      ],
+      'sources': [
+        'third_party/c-ares/ares__close_sockets.c',
+        'third_party/c-ares/ares__get_hostent.c',
+        'third_party/c-ares/ares__read_line.c',
+        'third_party/c-ares/ares__timeval.c',
+        'third_party/c-ares/ares_cancel.c',
+        'third_party/c-ares/ares_create_query.c',
+        'third_party/c-ares/ares_data.c',
+        'third_party/c-ares/ares_destroy.c',
+        'third_party/c-ares/ares_expand_name.c',
+        'third_party/c-ares/ares_expand_string.c',
+        'third_party/c-ares/ares_fds.c',
+        'third_party/c-ares/ares_free_hostent.c',
+        'third_party/c-ares/ares_free_string.c',
+        'third_party/c-ares/ares_getenv.c',
+        'third_party/c-ares/ares_gethostbyaddr.c',
+        'third_party/c-ares/ares_gethostbyname.c',
+        'third_party/c-ares/ares_getnameinfo.c',
+        'third_party/c-ares/ares_getopt.c',
+        'third_party/c-ares/ares_getsock.c',
+        'third_party/c-ares/ares_init.c',
+        'third_party/c-ares/ares_library_init.c',
+        'third_party/c-ares/ares_llist.c',
+        'third_party/c-ares/ares_mkquery.c',
+        'third_party/c-ares/ares_nowarn.c',
+        'third_party/c-ares/ares_options.c',
+        'third_party/c-ares/ares_parse_a_reply.c',
+        'third_party/c-ares/ares_parse_aaaa_reply.c',
+        'third_party/c-ares/ares_parse_mx_reply.c',
+        'third_party/c-ares/ares_parse_naptr_reply.c',
+        'third_party/c-ares/ares_parse_ns_reply.c',
+        'third_party/c-ares/ares_parse_ptr_reply.c',
+        'third_party/c-ares/ares_parse_soa_reply.c',
+        'third_party/c-ares/ares_parse_srv_reply.c',
+        'third_party/c-ares/ares_parse_txt_reply.c',
+        'third_party/c-ares/ares_platform.c',
+        'third_party/c-ares/ares_process.c',
+        'third_party/c-ares/ares_query.c',
+        'third_party/c-ares/ares_search.c',
+        'third_party/c-ares/ares_send.c',
+        'third_party/c-ares/ares_strcasecmp.c',
+        'third_party/c-ares/ares_strdup.c',
+        'third_party/c-ares/ares_strerror.c',
+        'third_party/c-ares/ares_timeout.c',
+        'third_party/c-ares/ares_version.c',
+        'third_party/c-ares/ares_writev.c',
+        'third_party/c-ares/bitncmp.c',
+        'third_party/c-ares/inet_net_pton.c',
+        'third_party/c-ares/inet_ntop.c',
+        'third_party/c-ares/windows_port.c',
+      ],
+      "conditions": [
+        ['OS == "mac"', {
+          'xcode_settings': {
+            'MACOSX_DEPLOYMENT_TARGET': '10.9'
+          },
+          'include_dirs': [ 'src/c-ares/config_darwin' ],
+          'defines': [ 'HAVE_CONFIG_H' ]
+        }],
+        ['OS == "linux"', {
+          'include_dirs': [ 'src/c-ares/config_linux' ],
+          'defines': [ 'HAVE_CONFIG_H' ]
+        }],
+        ['OS == "win"', {
+          'defines': [ 'CARES_STATICLIB' ]
+        }]
+      ]
+    },
+    {
       'include_dirs': [
         "<!(node -e \"require('nan')\")"
       ],
@@ -822,7 +902,7 @@
       "dependencies": [
         "grpc",
         "gpr",
-        "node_modules/cares/deps/cares/cares.gyp:cares",
+        "ares",
       ]
     },
     {