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