blob: bfd82b0adfba700417ec9bafbf26545ca1d52366 [file] [log] [blame]
import talk
Import("env")
talk.Library(env, name = "expat",
cppdefines = [
"XML_STATIC",
],
srcs = [
"third_party/expat-2.0.1/lib/xmlparse.c",
"third_party/expat-2.0.1/lib/xmlrole.c",
"third_party/expat-2.0.1/lib/xmltok.c",
],
includedirs = [
"third_party/expat-2.0.1/lib",
],
win_cppdefines = [
"COMPILED_FROM_DSP",
],
posix_cppdefines = [
"HAVE_EXPAT_CONFIG_H",
],
)
talk.Library(env, name = "gunit",
srcs = [
"third_party/gtest/src/gtest-all.cc",
],
includedirs = [
"third_party/gtest/include",
"third_party/gtest",
],
cppdefines = [
"LIBJINGLE_UNITTEST",
],
)
talk.Library(env, name = "srtp",
srcs = [
"third_party/srtp/crypto/cipher/aes.c",
"third_party/srtp/crypto/cipher/aes_cbc.c",
"third_party/srtp/crypto/cipher/aes_icm.c",
"third_party/srtp/crypto/cipher/cipher.c",
"third_party/srtp/crypto/cipher/null_cipher.c",
"third_party/srtp/crypto/hash/auth.c",
"third_party/srtp/crypto/hash/hmac.c",
"third_party/srtp/crypto/hash/null_auth.c",
"third_party/srtp/crypto/hash/sha1.c",
"third_party/srtp/crypto/replay/rdb.c",
"third_party/srtp/crypto/replay/rdbx.c",
"third_party/srtp/crypto/replay/ut_sim.c",
"third_party/srtp/crypto/math/datatypes.c",
"third_party/srtp/crypto/math/stat.c",
"third_party/srtp/crypto/kernel/alloc.c",
"third_party/srtp/crypto/kernel/crypto_kernel.c",
"third_party/srtp/crypto/kernel/err.c",
"third_party/srtp/crypto/kernel/key.c",
"third_party/srtp/crypto/rng/ctr_prng.c",
"third_party/srtp/crypto/rng/rand_source.c",
"third_party/srtp/srtp/ekt.c",
"third_party/srtp/srtp/srtp.c",
],
includedirs = [
"third_party/srtp/include",
"third_party/srtp/crypto/include",
],
win_ccflags = [
"/wd4701",
"/wd4702",
],
)
talk.Library(env, name = "jingle",
lin_srcs = [
"base/latebindingsymboltable.cc",
"base/linux.cc",
"session/phone/libudevsymboltable.cc",
"session/phone/v4llookup.cc",
"sound/alsasoundsystem.cc",
"sound/alsasymboltable.cc",
"sound/linuxsoundsystem.cc",
"sound/nullsoundsystem.cc",
"sound/nullsoundsystemfactory.cc",
"sound/pulseaudiosoundsystem.cc",
"sound/pulseaudiosymboltable.cc",
"sound/platformsoundsystem.cc",
"sound/platformsoundsystemfactory.cc",
"sound/soundsysteminterface.cc",
"sound/soundsystemproxy.cc",
],
dependent_target_settings = {
'lin_libs': [
"dl",
"pthread",
"rt",
],
'mac_libs': [
"-lcrypto",
"-lssl",
],
},
mac_srcs = [
"base/macasyncsocket.cc",
"base/macconversion.cc",
"base/macsocketserver.cc",
"base/macutils.cc",
"session/phone/carbonvideorenderer.cc",
"session/phone/devicemanager_mac.mm",
],
posix_srcs = [
"base/unixfilesystem.cc",
"base/opensslidentity.cc",
"base/opensslstreamadapter.cc",
"base/sslidentity.cc",
"base/sslstreamadapter.cc",
],
linphone_srcs = [
"session/phone/linphonemediaengine.cc",
],
cppdefines = [
"FEATURE_ENABLE_VOICEMAIL",
"EXPAT_RELATIVE_PATH",
"SRTP_RELATIVE_PATH",
"XML_STATIC",
"HAVE_GIPS",
],
srcs = [
"base/asyncfile.cc",
"base/asynchttprequest.cc",
"base/asyncsocket.cc",
"base/asynctcpsocket.cc",
"base/asyncudpsocket.cc",
"base/autodetectproxy.cc",
"base/base64.cc",
"base/basicpacketsocketfactory.cc",
"base/bytebuffer.cc",
"base/checks.cc",
"base/common.cc",
"base/diskcache.cc",
"base/event.cc",
"base/fileutils.cc",
"base/firewallsocketserver.cc",
"base/flags.cc",
"base/helpers.cc",
"base/host.cc",
"base/httpbase.cc",
"base/httpclient.cc",
"base/httpcommon.cc",
"base/httprequest.cc",
"base/httpserver.cc",
"base/logging.cc",
"base/md5c.c",
"base/messagehandler.cc",
"base/messagequeue.cc",
"base/nethelpers.cc",
"base/network.cc",
"base/openssladapter.cc",
"base/pathutils.cc",
"base/physicalsocketserver.cc",
"base/proxydetect.cc",
"base/proxyinfo.cc",
"base/ratetracker.cc",
"base/signalthread.cc",
"base/socketadapters.cc",
"base/socketaddress.cc",
"base/socketaddresspair.cc",
"base/socketpool.cc",
"base/socketstream.cc",
"base/ssladapter.cc",
"base/sslsocketfactory.cc",
"base/stream.cc",
"base/stringdigest.cc",
"base/stringencode.cc",
"base/stringutils.cc",
"base/task.cc",
"base/taskparent.cc",
"base/taskrunner.cc",
"base/thread.cc",
"base/time.cc",
"base/urlencode.cc",
"base/worker.cc",
"p2p/base/constants.cc",
"p2p/base/p2ptransport.cc",
"p2p/base/p2ptransportchannel.cc",
"p2p/base/parsing.cc",
"p2p/base/port.cc",
"p2p/base/pseudotcp.cc",
"p2p/base/relayport.cc",
"p2p/base/relayserver.cc",
"p2p/base/rawtransport.cc",
"p2p/base/rawtransportchannel.cc",
"p2p/base/session.cc",
"p2p/base/sessiondescription.cc",
"p2p/base/sessionmanager.cc",
"p2p/base/sessionmessages.cc",
"p2p/base/stun.cc",
"p2p/base/stunport.cc",
"p2p/base/stunrequest.cc",
"p2p/base/stunserver.cc",
"p2p/base/tcpport.cc",
"p2p/base/transport.cc",
"p2p/base/transportchannel.cc",
"p2p/base/transportchannelproxy.cc",
"p2p/base/udpport.cc",
"p2p/client/basicportallocator.cc",
"p2p/client/httpportallocator.cc",
"p2p/client/socketmonitor.cc",
"session/tunnel/pseudotcpchannel.cc",
"session/tunnel/tunnelsessionclient.cc",
"session/tunnel/securetunnelsessionclient.cc",
"session/phone/audiomonitor.cc",
"session/phone/call.cc",
"session/phone/channel.cc",
"session/phone/channelmanager.cc",
"session/phone/codec.cc",
"session/phone/currentspeakermonitor.cc",
"session/phone/devicemanager.cc",
"session/phone/filemediaengine.cc",
"session/phone/gipsmediaengine.cc",
"session/phone/mediaengine.cc",
"session/phone/mediamessages.cc",
"session/phone/mediamonitor.cc",
"session/phone/mediasession.cc",
"session/phone/mediasessionclient.cc",
"session/phone/rtpdump.cc",
"session/phone/rtputils.cc",
"session/phone/rtcpmuxfilter.cc",
"session/phone/soundclip.cc",
"session/phone/srtpfilter.cc",
"xmllite/qname.cc",
"xmllite/xmlbuilder.cc",
"xmllite/xmlconstants.cc",
"xmllite/xmlelement.cc",
"xmllite/xmlnsstack.cc",
"xmllite/xmlparser.cc",
"xmllite/xmlprinter.cc",
"xmpp/constants.cc",
"xmpp/hangoutpubsubclient.cc",
"xmpp/iqtask.cc",
"xmpp/jid.cc",
"xmpp/mucroomconfigtask.cc",
"xmpp/mucroomlookuptask.cc",
"xmpp/pubsubclient.cc",
"xmpp/pubsubtasks.cc",
"xmpp/ratelimitmanager.cc",
"xmpp/receivetask.cc",
"xmpp/saslmechanism.cc",
"xmpp/xmppclient.cc",
"xmpp/xmppengineimpl.cc",
"xmpp/xmppengineimpl_iq.cc",
"xmpp/xmpplogintask.cc",
"xmpp/xmppstanzaparser.cc",
"xmpp/xmpptask.cc",
],
includedirs = [
"third_party/libudev",
"third_party/expat-2.0.1/lib",
"third_party/srtp/include",
"third_party/srtp/crypto/include",
],
win_srcs = [
"base/schanneladapter.cc",
"base/win32.cc",
"base/win32filesystem.cc",
"base/win32securityerrors.cc",
"base/win32socketserver.cc",
"base/win32socketinit.cc",
"base/win32window.cc",
"base/winfirewall.cc",
"base/winping.cc",
"session/phone/gdivideorenderer.cc",
],
mac_ccflags = [
"-Wno-deprecated-declarations",
],
extra_srcs = [
"base/json.cc",
],
)
talk.Library(env, name = "xmpphelp",
libs = [
"jingle",
],
srcs = [
"examples/login/xmppauth.cc",
"examples/login/xmpppump.cc",
"examples/login/xmppsocket.cc",
],
)
talk.Library(env, name = "unittest_main",
libs = [
"gunit",
],
srcs = [
"base/unittest_main.cc",
],
includedirs = [
"third_party/gtest/include",
"third_party/gtest",
],
cppdefines = [
"LIBJINGLE_UNITTEST",
],
)
talk.App(env, name = "login",
libs = [
"jingle",
"expat",
"xmpphelp",
],
srcs = [
"examples/login/xmppthread.cc",
"examples/login/login_main.cc",
],
posix_libs = [
"crypto",
"ssl",
],
lin_libs = [
# :TODO: (kedong) add nexus videorenderer later
# "videorenderer",
],
)
talk.App(env, name = "call",
mac_frameworks = [
"AudioToolbox",
"AudioUnit",
"Cocoa",
"CoreAudio",
"CoreFoundation",
"IOKit",
"QTKit",
"QuickTime",
],
win_libs = [
"d3d9.lib",
"gdi32.lib",
"powrprof.lib",
"strmiids.lib",
"winmm.lib",
],
posix_libs = [
"crypto",
"ssl",
],
cppdefines = [
"FEATURE_ENABLE_VOICEMAIL",
],
lin_libs = [
# :TODO: (kedong) add nexus videorenderer later
# "videorenderer",
],
srcs = [
"examples/call/call_main.cc",
"examples/call/callclient.cc",
"examples/call/console.cc",
"examples/call/discoitemsquerytask.cc",
"examples/call/friendinvitesendtask.cc",
"examples/call/mucinviterecvtask.cc",
"examples/call/mucinvitesendtask.cc",
"examples/call/presenceouttask.cc",
"examples/call/presencepushtask.cc",
"examples/call/voicemailjidrequester.cc",
],
libs = [
"jingle",
"expat",
"srtp",
"xmpphelp",
"VoiceEngine_Linux_gcc",
"vcme_audio",
"nexus",
],
)
talk.App(env, name = "relayserver",
libs = [
"jingle",
],
srcs = [
"p2p/base/relayserver_main.cc",
],
)
talk.App(env, name = "stunserver",
libs = [
"jingle",
],
srcs = [
"p2p/base/stunserver_main.cc",
],
)
talk.Unittest(env, name = "base",
libs = [
"jingle",
],
srcs = [
"base/asynchttprequest_unittest.cc",
"base/autodetectproxy_unittest.cc",
"base/bytebuffer_unittest.cc",
"base/event_unittest.cc",
"base/fileutils_unittest.cc",
"base/helpers_unittest.cc",
"base/host_unittest.cc",
"base/httpbase_unittest.cc",
"base/httpcommon_unittest.cc",
"base/httpserver_unittest.cc",
"base/logging_unittest.cc",
"base/messagequeue_unittest.cc",
"base/network_unittest.cc",
"base/referencecountedsingletonfactory_unittest.cc",
"base/signalthread_unittest.cc",
"base/socketaddress_unittest.cc",
"base/stream_unittest.cc",
"base/stringencode_unittest.cc",
"base/stringutils_unittest.cc",
"base/task_unittest.cc",
"base/thread_unittest.cc",
"base/time_unittest.cc",
"base/urlencode_unittest.cc",
],
includedirs = [
"third_party/gtest/include",
"third_party/gtest",
],
cppdefines = [
"LIBJINGLE_UNITTEST",
],
)