1 import talk 2 Import("env") 3 4 talk.Library(env, name = "expat", 5 cppdefines = [ 6 "XML_STATIC", 7 ], 8 srcs = [ 9 "third_party/expat-2.0.1/lib/xmlparse.c", 10 "third_party/expat-2.0.1/lib/xmlrole.c", 11 "third_party/expat-2.0.1/lib/xmltok.c", 12 ], 13 includedirs = [ 14 "third_party/expat-2.0.1/", 15 ], 16 win_cppdefines = [ 17 "COMPILED_FROM_DSP", 18 ], 19 posix_cppdefines = [ 20 "HAVE_EXPAT_CONFIG_H", 21 ], 22 ) 23 talk.Library(env, name = "libsrtp", 24 srcs = [ 25 "third_party/srtp/crypto/cipher/aes.c", 26 "third_party/srtp/crypto/cipher/aes_cbc.c", 27 "third_party/srtp/crypto/cipher/aes_icm.c", 28 "third_party/srtp/crypto/cipher/cipher.c", 29 "third_party/srtp/crypto/cipher/null_cipher.c", 30 "third_party/srtp/crypto/hash/auth.c", 31 "third_party/srtp/crypto/hash/hmac.c", 32 "third_party/srtp/crypto/hash/null_auth.c", 33 "third_party/srtp/crypto/hash/sha1.c", 34 "third_party/srtp/crypto/replay/rdb.c", 35 "third_party/srtp/crypto/replay/rdbx.c", 36 "third_party/srtp/crypto/replay/ut_sim.c", 37 "third_party/srtp/crypto/math/datatypes.c", 38 "third_party/srtp/crypto/math/stat.c", 39 "third_party/srtp/crypto/kernel/alloc.c", 40 "third_party/srtp/crypto/kernel/crypto_kernel.c", 41 "third_party/srtp/crypto/kernel/err.c", 42 "third_party/srtp/crypto/kernel/key.c", 43 "third_party/srtp/crypto/rng/ctr_prng.c", 44 "third_party/srtp/crypto/rng/rand_source.c", 45 "third_party/srtp/srtp/ekt.c", 46 "third_party/srtp/srtp/srtp.c", 47 ], 48 includedirs = [ 49 "third_party/srtp/include", 50 "third_party/srtp/crypto/include", 51 ], 52 win_ccflags = [ 53 "/wd4701", 54 "/wd4702", 55 ], 56 ) 57 talk.Library(env, name = "libjingle", 58 lin_srcs = [ 59 "base/latebindingsymboltable.cc", 60 "base/linux.cc", 61 "session/phone/libudevsymboltable.cc", 62 "session/phone/v4llookup.cc", 63 ], 64 mac_srcs = [ 65 "base/macconversion.cc", 66 "base/macutils.cc", 67 "session/phone/devicemanager_mac.mm", 68 ], 69 posix_srcs = [ 70 "base/unixfilesystem.cc", 71 "base/opensslidentity.cc", 72 "base/opensslstreamadapter.cc", 73 "base/sslidentity.cc", 74 "base/sslstreamadapter.cc", 75 ], 76 cppdefines = [ 77 "FEATURE_ENABLE_VOICEMAIL", 78 "EXPAT_RELATIVE_PATH", 79 "SRTP_RELATIVE_PATH", 80 "XML_STATIC", 81 ], 82 srcs = [ 83 "base/asyncfile.cc", 84 "base/asynchttprequest.cc", 85 "base/asyncsocket.cc", 86 "base/asynctcpsocket.cc", 87 "base/asyncudpsocket.cc", 88 "base/autodetectproxy.cc", 89 "base/base64.cc", 90 "base/basicpacketsocketfactory.cc", 91 "base/bytebuffer.cc", 92 "base/checks.cc", 93 "base/common.cc", 94 "base/diskcache.cc", 95 "base/event.cc", 96 "base/fileutils.cc", 97 "base/firewallsocketserver.cc", 98 "base/flags.cc", 99 "base/helpers.cc", 100 "base/host.cc", 101 "base/httpbase.cc", 102 "base/httpclient.cc", 103 "base/httpcommon.cc", 104 "base/httprequest.cc", 105 "base/logging.cc", 106 "base/md5c.c", 107 "base/messagehandler.cc", 108 "base/messagequeue.cc", 109 "base/nethelpers.cc", 110 "base/network.cc", 111 "base/openssladapter.cc", 112 "base/pathutils.cc", 113 "base/physicalsocketserver.cc", 114 "base/proxydetect.cc", 115 "base/proxyinfo.cc", 116 "base/ratetracker.cc", 117 "base/signalthread.cc", 118 "base/socketadapters.cc", 119 "base/socketaddress.cc", 120 "base/socketaddresspair.cc", 121 "base/socketpool.cc", 122 "base/socketstream.cc", 123 "base/ssladapter.cc", 124 "base/sslsocketfactory.cc", 125 "base/stream.cc", 126 "base/stringdigest.cc", 127 "base/stringencode.cc", 128 "base/stringutils.cc", 129 "base/task.cc", 130 "base/taskparent.cc", 131 "base/taskrunner.cc", 132 "base/thread.cc", 133 "base/time.cc", 134 "base/urlencode.cc", 135 "p2p/base/constants.cc", 136 "p2p/base/p2ptransport.cc", 137 "p2p/base/p2ptransportchannel.cc", 138 "p2p/base/parsing.cc", 139 "p2p/base/port.cc", 140 "p2p/base/pseudotcp.cc", 141 "p2p/base/relayport.cc", 142 "p2p/base/relayserver.cc", 143 "p2p/base/rawtransport.cc", 144 "p2p/base/rawtransportchannel.cc", 145 "p2p/base/session.cc", 146 "p2p/base/sessiondescription.cc", 147 "p2p/base/sessionmanager.cc", 148 "p2p/base/sessionmessages.cc", 149 "p2p/base/stun.cc", 150 "p2p/base/stunport.cc", 151 "p2p/base/stunrequest.cc", 152 "p2p/base/stunserver.cc", 153 "p2p/base/tcpport.cc", 154 "p2p/base/transport.cc", 155 "p2p/base/transportchannel.cc", 156 "p2p/base/transportchannelproxy.cc", 157 "p2p/base/udpport.cc", 158 "p2p/client/basicportallocator.cc", 159 "p2p/client/httpportallocator.cc", 160 "p2p/client/socketmonitor.cc", 161 "session/tunnel/pseudotcpchannel.cc", 162 "session/tunnel/tunnelsessionclient.cc", 163 "session/tunnel/securetunnelsessionclient.cc", 164 "session/phone/audiomonitor.cc", 165 "session/phone/call.cc", 166 "session/phone/channel.cc", 167 "session/phone/channelmanager.cc", 168 "session/phone/codec.cc", 169 "session/phone/devicemanager.cc", 170 "session/phone/filemediaengine.cc", 171 "session/phone/mediaengine.cc", 172 "session/phone/mediamonitor.cc", 173 "session/phone/mediasessionclient.cc", 174 "session/phone/rtpdump.cc", 175 "session/phone/rtcpmuxfilter.cc", 176 "session/phone/soundclip.cc", 177 "session/phone/srtpfilter.cc", 178 "xmllite/qname.cc", 179 "xmllite/xmlbuilder.cc", 180 "xmllite/xmlconstants.cc", 181 "xmllite/xmlelement.cc", 182 "xmllite/xmlnsstack.cc", 183 "xmllite/xmlparser.cc", 184 "xmllite/xmlprinter.cc", 185 "xmpp/constants.cc", 186 "xmpp/jid.cc", 187 "xmpp/ratelimitmanager.cc", 188 "xmpp/saslmechanism.cc", 189 "xmpp/xmppclient.cc", 190 "xmpp/xmppengineimpl.cc", 191 "xmpp/xmppengineimpl_iq.cc", 192 "xmpp/xmpplogintask.cc", 193 "xmpp/xmppstanzaparser.cc", 194 "xmpp/xmpptask.cc", 195 ], 196 includedirs = [ 197 "third_party/libudev", 198 "third_party/expat-2.0.1/", 199 "third_party/srtp/include", 200 "third_party/srtp/crypto/include", 201 ], 202 win_srcs = [ 203 "base/schanneladapter.cc", 204 "base/win32.cc", 205 "base/win32filesystem.cc", 206 "base/win32securityerrors.cc", 207 "base/win32socketserver.cc", 208 "base/win32socketinit.cc", 209 "base/win32window.cc", 210 "base/winfirewall.cc", 211 "base/winping.cc", 212 ], 213 ) 214 talk.App(env, name = "login", 215 libs = [ 216 "libjingle", 217 "expat", 218 "libxmpphelp", 219 ], 220 srcs = [ 221 "examples/login/xmppthread.cc", 222 "examples/login/login_main.cc", 223 ], 224 mac_libs = [ 225 "crypto", 226 "ssl", 227 ], 228 lin_libs = [ 229 "libpthread", 230 ":libssl.so.0.9.8", 231 ], 232 ) 233 talk.Library(env, name = "libxmpphelp", 234 libs = [ 235 "libjingle", 236 ], 237 srcs = [ 238 "examples/login/xmppauth.cc", 239 "examples/login/xmpppump.cc", 240 "examples/login/xmppsocket.cc", 241 ], 242 ) 243 talk.App(env, name = "call", 244 mac_frameworks = [ 245 "AudioToolbox", 246 "AudioUnit", 247 "Cocoa", 248 "CoreAudio", 249 "CoreFoundation", 250 "IOKit", 251 "QTKit", 252 "QuickTime", 253 ], 254 win_libs = [ 255 "d3d9.lib", 256 "gdi32.lib", 257 "powrprof.lib", 258 "strmiids.lib", 259 "winmm.lib", 260 ], 261 mac_libs = [ 262 "crypto", 263 "ssl", 264 ], 265 cppdefines = [ 266 "FEATURE_ENABLE_VOICEMAIL", 267 ], 268 lin_libs = [ 269 "libasound", 270 "libpthread", 271 ":libssl.so.0.9.8", 272 ], 273 srcs = [ 274 "examples/call/call_main.cc", 275 "examples/call/callclient.cc", 276 "examples/call/console.cc", 277 "examples/call/discoitemsquerytask.cc", 278 "examples/call/friendinvitesendtask.cc", 279 "examples/call/mucinviterecvtask.cc", 280 "examples/call/mucinvitesendtask.cc", 281 "examples/call/presenceouttask.cc", 282 "examples/call/presencepushtask.cc", 283 "examples/call/voicemailjidrequester.cc", 284 ], 285 libs = [ 286 "libjingle", 287 "expat", 288 "libsrtp", 289 "libxmpphelp", 290 ], 291 ) 292 talk.App(env, name = "relayserver", 293 libs = [ 294 "libjingle", 295 ], 296 srcs = [ 297 "p2p/base/relayserver_main.cc", 298 ], 299 lin_libs = [ 300 "libpthread", 301 ], 302 ) 303 talk.App(env, name = "stunserver", 304 libs = [ 305 "libjingle", 306 ], 307 srcs = [ 308 "p2p/base/stunserver_main.cc", 309 ], 310 lin_libs = [ 311 "libpthread", 312 ], 313 ) 314