Import("swiften_env")

myenv = swiften_env.Clone()
myenv.MergeFlags(swiften_env.get("BONJOUR_FLAGS", ""))

sources = [
        "DNSSD/DNSSDBrowseQuery.cpp",
        "DNSSD/DNSSDQuerier.cpp",
        "DNSSD/DNSSDRegisterQuery.cpp",
        "DNSSD/DNSSDResolveHostnameQuery.cpp",
        "DNSSD/DNSSDResolveServiceQuery.cpp",
        "DNSSD/DNSSDServiceID.cpp",
        "DNSSD/Fake/FakeDNSSDQuerier.cpp",
        "DNSSD/Fake/FakeDNSSDQuery.cpp",
        "DNSSD/PlatformDNSSDQuerierFactory.cpp",
        "IncomingLinkLocalSession.cpp",
        "LinkLocalConnector.cpp",
        "LinkLocalService.cpp",
        "LinkLocalServiceBrowser.cpp",
        "LinkLocalServiceInfo.cpp",
        "OutgoingLinkLocalSession.cpp",
    ]

if myenv.get("HAVE_BONJOUR", 0) :
    myenv.Append(CPPDEFINES = "HAVE_BONJOUR")
    sources += [
            "DNSSD/Bonjour/BonjourQuerier.cpp",
            "DNSSD/Bonjour/BonjourQuery.cpp",
        ]
elif myenv.get("HAVE_AVAHI", 0) :
    myenv.Append(CPPDEFINES = ["HAVE_AVAHI"])
    sources += [
            "DNSSD/Avahi/AvahiQuerier.cpp",
            "DNSSD/Avahi/AvahiQuery.cpp",
            "DNSSD/Avahi/AvahiResolveHostnameQuery.cpp",
            "DNSSD/Avahi/AvahiResolveServiceQuery.cpp",
            "DNSSD/Avahi/AvahiRegisterQuery.cpp",
            "DNSSD/Avahi/AvahiBrowseQuery.cpp",
        ]

objects = myenv.SwiftenObject(sources)
swiften_env.Append(SWIFTEN_OBJECTS = [objects])