avahi/0.8

Avahi - Service Discovery for Linux using mDNS/DNS-SD -- compatible with Bonjour
Recipe info
LGPL-2.1-only
2024-04-17

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
avahi/0.8

Using avahi

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
avahi/0.8
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("avahi/0.8")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): avahi
  • CMake target name(s): avahi::avahi
  • core => avahi::core
    glib => avahi::glib
    browse => avahi::browse
    client => avahi::client
    common => avahi::common
    daemon => avahi::daemon
    autoipd => avahi::autoipd
    gobject => avahi::gobject
    publish => avahi::publish
    resolve => avahi::resolve
    dnsconfd => avahi::dnsconfd
    libevent => avahi::libevent
    set-host-name => avahi::set-host-name
    compat-libdns_sd => avahi::compat-libdns_sd
    
  • pkg-config file name(s): avahi.pc
  • core => avahi-core.pc
    glib => avahi-glib.pc
    browse => avahi-browse.pc
    client => avahi-client.pc
    common => avahi-common.pc
    daemon => avahi-daemon.pc
    autoipd => avahi-autoipd.pc
    gobject => avahi-gobject.pc
    publish => avahi-publish.pc
    resolve => avahi-resolve.pc
    dnsconfd => avahi-dnsconfd.pc
    libevent => avahi-libevent.pc
    set-host-name => avahi-set-host-name.pc
    compat-libdns_sd => avahi-compat-libdns_sd.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(avahi REQUIRED)
# ...
target_link_libraries(YOUR_TARGET avahi::avahi)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the avahi homepage listed above:

#include "avahi-client/client.h"
#include "avahi-client/lookup.h"
#include "avahi-client/publish.h"
#include "avahi-common/address.h"
#include "avahi-common/alternative.h"
#include "avahi-common/cdecl.h"
#include "avahi-common/defs.h"
#include "avahi-common/domain.h"
#include "avahi-common/error.h"
#include "avahi-common/gccmacro.h"
#include "avahi-common/llist.h"
#include "avahi-common/malloc.h"
#include "avahi-common/rlist.h"
#include "avahi-common/simple-watch.h"
#include "avahi-common/strlst.h"
#include "avahi-common/thread-watch.h"
#include "avahi-common/timeval.h"
#include "avahi-common/watch.h"
#include "avahi-compat-libdns_sd/dns_sd.h"
#include "avahi-core/core.h"
#include "avahi-core/log.h"
#include "avahi-core/lookup.h"
#include "avahi-core/publish.h"
#include "avahi-core/rr.h"
#include "avahi-glib/glib-malloc.h"
#include "avahi-glib/glib-watch.h"
#include "avahi-gobject/ga-client.h"
#include "avahi-gobject/ga-entry-group.h"
#include "avahi-gobject/ga-enums.h"
#include "avahi-gobject/ga-error.h"
#include "avahi-gobject/ga-record-browser.h"
#include "avahi-gobject/ga-service-browser.h"
#include "avahi-gobject/ga-service-resolver.h"
#include "avahi-libevent/libevent-watch.h"