1{ 2 'variables': { 3 'cares_sources_common': [ 4 'include/ares.h', 5 'include/ares_dns.h', 6 'include/ares_dns_record.h', 7 'include/ares_nameser.h', 8 'include/ares_rules.h', 9 'include/ares_version.h', 10 'src/lib/ares__addrinfo2hostent.c', 11 'src/lib/ares__addrinfo_localhost.c', 12 'src/lib/ares__buf.c', 13 'src/lib/ares__buf.h', 14 'src/lib/ares__close_sockets.c', 15 'src/lib/ares__hosts_file.c', 16 'src/lib/ares__htable.c', 17 'src/lib/ares__htable.h', 18 'src/lib/ares__htable_asvp.c', 19 'src/lib/ares__htable_asvp.h', 20 'src/lib/ares__htable_strvp.c', 21 'src/lib/ares__htable_strvp.h', 22 'src/lib/ares__htable_szvp.c', 23 'src/lib/ares__htable_szvp.h', 24 'src/lib/ares__iface_ips.c', 25 'src/lib/ares__iface_ips.h', 26 'src/lib/ares__llist.c', 27 'src/lib/ares__llist.h', 28 'src/lib/ares__parse_into_addrinfo.c', 29 'src/lib/ares__read_line.c', 30 'src/lib/ares__slist.c', 31 'src/lib/ares__slist.h', 32 'src/lib/ares__socket.c', 33 'src/lib/ares__sortaddrinfo.c', 34 'src/lib/ares__threads.c', 35 'src/lib/ares__threads.h', 36 'src/lib/ares__timeval.c', 37 'src/lib/ares_android.c', 38 'src/lib/ares_android.h', 39 'src/lib/ares_cancel.c', 40 'src/lib/ares_create_query.c', 41 'src/lib/ares_data.c', 42 'src/lib/ares_data.h', 43 'src/lib/ares_destroy.c', 44 'src/lib/ares_dns_mapping.c', 45 'src/lib/ares_dns_name.c', 46 'src/lib/ares_dns_parse.c', 47 'src/lib/ares_dns_record.c', 48 'src/lib/ares_dns_private.h', 49 'src/lib/ares_dns_write.c', 50 'src/lib/ares_event.h', 51 'src/lib/ares_event_win32.h', 52 'src/lib/ares_event_epoll.c', 53 'src/lib/ares_event_kqueue.c', 54 'src/lib/ares_event_poll.c', 55 'src/lib/ares_event_select.c', 56 'src/lib/ares_event_thread.c', 57 'src/lib/ares_event_wake_pipe.c', 58 'src/lib/ares_event_win32.c', 59 'src/lib/ares_expand_name.c', 60 'src/lib/ares_expand_string.c', 61 'src/lib/ares_fds.c', 62 'src/lib/ares_free_hostent.c', 63 'src/lib/ares_free_string.c', 64 'src/lib/ares_freeaddrinfo.c', 65 'src/lib/ares_getaddrinfo.c', 66 'src/lib/ares_getenv.c', 67 'src/lib/ares_getenv.h', 68 'src/lib/ares_gethostbyaddr.c', 69 'src/lib/ares_gethostbyname.c', 70 'src/lib/ares_getnameinfo.c', 71 'src/lib/ares_getsock.c', 72 'src/lib/ares_inet_net_pton.h', 73 'src/lib/ares_init.c', 74 'src/lib/ares_library_init.c', 75 'src/lib/ares_ipv6.h', 76 'src/lib/ares_math.c', 77 'src/lib/ares_mkquery.c', 78 'src/lib/ares_options.c', 79 'src/lib/ares_parse_a_reply.c', 80 'src/lib/ares_parse_aaaa_reply.c', 81 'src/lib/ares_parse_caa_reply.c', 82 'src/lib/ares_parse_mx_reply.c', 83 'src/lib/ares_parse_naptr_reply.c', 84 'src/lib/ares_parse_ns_reply.c', 85 'src/lib/ares_parse_ptr_reply.c', 86 'src/lib/ares_parse_soa_reply.c', 87 'src/lib/ares_parse_srv_reply.c', 88 'src/lib/ares_parse_txt_reply.c', 89 'src/lib/ares_parse_uri_reply.c', 90 'src/lib/ares_platform.c', 91 'src/lib/ares_platform.h', 92 'src/lib/ares_private.h', 93 'src/lib/ares_process.c', 94 'src/lib/ares_qcache.c', 95 'src/lib/ares_query.c', 96 'src/lib/ares_rand.c', 97 'src/lib/ares_search.c', 98 'src/lib/ares_send.c', 99 'src/lib/ares_setup.h', 100 'src/lib/ares_strcasecmp.c', 101 'src/lib/ares_strcasecmp.h', 102 'src/lib/ares_str.c', 103 'src/lib/ares_str.h', 104 'src/lib/ares_strerror.c', 105 'src/lib/ares_strsplit.c', 106 'src/lib/ares_strsplit.h', 107 'src/lib/ares_sysconfig.c', 108 'src/lib/ares_sysconfig_files.c', 109 'src/lib/ares_timeout.c', 110 'src/lib/ares_update_servers.c', 111 'src/lib/ares_version.c', 112 'src/lib/inet_net_pton.c', 113 'src/lib/inet_ntop.c', 114 'src/lib/setup_once.h', 115 'src/tools/ares_getopt.c', 116 'src/tools/ares_getopt.h', 117 ], 118 'cares_sources_win': [ 119 'src/lib/config-win32.h', 120 'src/lib/windows_port.c', 121 ], 122 }, 123 124 'target_defaults': { 125 'conditions': [ 126 ['OS!="win"', { 127 'defines': [ 128 '_DARWIN_USE_64_BIT_INODE=1', 129 '_LARGEFILE_SOURCE', 130 '_FILE_OFFSET_BITS=64', 131 '_GNU_SOURCE' 132 ] 133 }], 134 [ 'OS in "aix os400"', { 135 'include_dirs': [ 'config/aix' ], 136 'sources': [ 'config/aix/ares_config.h' ], 137 'defines': [ 138 # Support for malloc(0) 139 '_LINUX_SOURCE_COMPAT=1', 140 '_ALL_SOURCE=1'], 141 }], 142 ['OS=="solaris"', { 143 'defines': [ 144 '__EXTENSIONS__', 145 '_XOPEN_SOURCE=500' 146 ] 147 }] 148 ] 149 }, 150 151 'targets': [ 152 { 153 'target_name': 'cares', 154 'type': '<(library)', 155 'include_dirs': [ 'include' ], 156 'direct_dependent_settings': { 157 'include_dirs': [ 'include' ] 158 }, 159 'sources': [ 160 '<@(cares_sources_common)', 161 ], 162 'conditions': [ 163 [ 'library=="static_library"', { 164 'defines': [ 'CARES_STATICLIB' ] 165 }, { 166 'defines': [ 'CARES_BUILDING_LIBRARY' ] 167 }], 168 [ 'OS=="win"', { 169 'defines': [ 170 'CARES_PULL_WS2TCPIP_H=1', 171 '_WINSOCK_DEPRECATED_NO_WARNINGS', 172 ], 173 'include_dirs': [ 'config/win32' ], 174 'sources': [ 175 '<@(cares_sources_win)', 176 ], 177 'libraries': [ 178 '-lws2_32.lib', 179 '-liphlpapi.lib' 180 ], 181 }, { 182 # Not Windows i.e. POSIX 183 'cflags': [ 184 '-g', 185 '-pedantic', 186 '-Wall', 187 '-Wextra', 188 '-Wno-unused-parameter' 189 ], 190 'defines': [ 'HAVE_CONFIG_H' ], 191 }], 192 [ 'OS not in "win android"', { 193 'cflags': [ 194 '--std=gnu11' 195 ], 196 }], 197 [ 'OS=="linux"', { 198 'include_dirs': [ 'config/linux' ], 199 'sources': [ 'config/linux/ares_config.h' ] 200 }], 201 [ 'OS=="mac" or OS=="ios"', { 202 'include_dirs': [ 'config/darwin' ], 203 'sources': [ 'config/darwin/ares_config.h' ] 204 }], 205 [ 'OS=="freebsd" or OS=="dragonflybsd"', { 206 'include_dirs': [ 'config/freebsd' ], 207 'sources': [ 'config/freebsd/ares_config.h' ] 208 }], 209 [ 'OS=="openbsd"', { 210 'include_dirs': [ 'config/openbsd' ], 211 'sources': [ 'config/openbsd/ares_config.h' ] 212 }], 213 [ 'OS=="android"', { 214 'include_dirs': [ 'config/android' ], 215 'sources': [ 'config/android/ares_config.h' ], 216 }], 217 [ 'OS=="solaris"', { 218 'include_dirs': [ 'config/sunos' ], 219 'sources': [ 'config/sunos/ares_config.h' ], 220 'direct_dependent_settings': { 221 'libraries': [ 222 '-lsocket', 223 '-lnsl' 224 ] 225 } 226 }] 227 ] 228 } 229 ] 230} 231