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",
              ],
)
