blob: 24967f4e497883c64bfb486331c62f346d222ebd [file] [log] [blame]
Alexandre Belloni8dfd59d2013-06-05 23:53:30 +00001################################################################################
Eric Andersen21e97d32006-12-12 22:26:51 +00002#
Alexandre Bellonif2c2f252013-06-05 23:53:29 +00003# avahi
Eric Andersen21e97d32006-12-12 22:26:51 +00004#
Alexandre Belloni8dfd59d2013-06-05 23:53:30 +00005################################################################################
Alexandre Belloni70270402013-06-05 23:53:25 +00006
Eric Andersen21e97d32006-12-12 22:26:51 +00007#
Ulf Samuelssona2e51132007-08-11 22:26:56 +00008# This program is free software; you can redistribute it
9# and/or modify it under the terms of the GNU Lesser General
Bernhard Reutner-Fischer6c6cb062007-08-21 19:20:18 +000010# Public License as published by the Free Software Foundation
Ulf Samuelssona2e51132007-08-11 22:26:56 +000011# either version 2.1 of the License, or (at your option) any
Eric Andersen21e97d32006-12-12 22:26:51 +000012# later version.
13
Peter Korsgaard68f65192012-02-15 08:41:05 +010014AVAHI_VERSION = 0.6.31
Jerzy Grzegorekc7f4b962014-07-31 10:46:58 +020015AVAHI_SITE = http://www.avahi.org/download
Danomi Manchego6ba785c2012-08-11 16:10:11 -040016AVAHI_LICENSE = LGPLv2.1+
17AVAHI_LICENSE_FILES = LICENSE
Peter Korsgaard744c8222009-03-05 21:38:40 +000018AVAHI_INSTALL_STAGING = YES
Eric Andersen21e97d32006-12-12 22:26:51 +000019
Jerzy Grzegorek27dd3292014-12-30 08:36:23 +010020AVAHI_CONF_ENV = \
21 ac_cv_func_strtod=yes \
22 ac_fsusage_space=yes \
23 fu_cv_sys_stat_statfs2_bsize=yes \
24 ac_cv_func_closedir_void=no \
25 ac_cv_func_getloadavg=no \
26 ac_cv_lib_util_getloadavg=no \
27 ac_cv_lib_getloadavg_getloadavg=no \
28 ac_cv_func_getgroups=yes \
29 ac_cv_func_getgroups_works=yes \
30 ac_cv_func_chown_works=yes \
31 ac_cv_have_decl_euidaccess=no \
32 ac_cv_func_euidaccess=no \
33 ac_cv_have_decl_strnlen=yes \
34 ac_cv_func_strnlen_working=yes \
35 ac_cv_func_lstat_dereferences_slashed_symlink=yes \
36 ac_cv_func_lstat_empty_string_bug=no \
37 ac_cv_func_stat_empty_string_bug=no \
38 vb_cv_func_rename_trailing_slash_bug=no \
39 ac_cv_have_decl_nanosleep=yes \
40 jm_cv_func_nanosleep_works=yes \
41 gl_cv_func_working_utimes=yes \
42 ac_cv_func_utime_null=yes \
43 ac_cv_have_decl_strerror_r=yes \
44 ac_cv_func_strerror_r_char_p=no \
45 jm_cv_func_svid_putenv=yes \
46 ac_cv_func_getcwd_null=yes \
47 ac_cv_func_getdelim=yes \
48 ac_cv_func_mkstemp=yes \
49 utils_cv_func_mkstemp_limitations=no \
50 utils_cv_func_mkdir_trailing_slash_bug=no \
51 jm_cv_func_gettimeofday_clobber=no \
52 am_cv_func_working_getline=yes \
53 gl_cv_func_working_readdir=yes \
54 jm_ac_cv_func_link_follows_symlink=no \
55 utils_cv_localtime_cache=no \
56 ac_cv_struct_st_mtim_nsec=no \
57 gl_cv_func_tzset_clobber=no \
58 gl_cv_func_getcwd_null=yes \
59 gl_cv_func_getcwd_path_max=yes \
60 ac_cv_func_fnmatch_gnu=yes \
61 am_getline_needs_run_time_check=no \
62 am_cv_func_working_getline=yes \
63 gl_cv_func_mkdir_trailing_slash_bug=no \
64 gl_cv_func_mkstemp_limitations=no \
65 ac_cv_func_working_mktime=yes \
66 jm_cv_func_working_re_compile_pattern=yes \
67 ac_use_included_regex=no \
68 avahi_cv_sys_cxx_works=yes \
69 DATADIRNAME=share
Peter Korsgaard744c8222009-03-05 21:38:40 +000070
Jörg Krauseffa33dc2014-10-18 00:36:33 +020071AVAHI_CONF_OPTS = \
Jerzy Grzegorekdd7346f2014-12-22 09:12:05 +010072 --disable-qt3 \
73 --disable-qt4 \
74 --disable-gdbm \
75 --disable-pygtk \
76 --disable-mono \
77 --disable-monodoc \
78 --disable-stack-protector \
79 --with-distro=none \
80 --disable-manpages \
81 $(if $(BR2_PACKAGE_AVAHI_AUTOIPD),--enable,--disable)-autoipd \
82 --with-avahi-user=avahi \
83 --with-avahi-group=avahi \
84 --with-autoipd-user=avahi \
85 --with-autoipd-group=avahi
Eric Andersen21e97d32006-12-12 22:26:51 +000086
Jerzy Grzegorek27dd3292014-12-30 08:36:23 +010087AVAHI_DEPENDENCIES = \
88 $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) host-intltool \
Jerzy Grzegorek17699332014-10-25 20:29:31 +020089 host-pkgconf host-gettext
Eric Andersen21e97d32006-12-12 22:26:51 +000090
Mike Williams7c1db802015-04-21 13:50:34 -040091AVAHI_CFLAGS = $(TARGET_CFLAGS)
92
93ifeq ($(BR2_PACKAGE_SYSTEMD),)
94AVAHI_CFLAGS += -DDISABLE_SYSTEMD
95endif
96
Peter Korsgaard744c8222009-03-05 21:38:40 +000097ifneq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_AVAHI_AUTOIPD),)
98AVAHI_DEPENDENCIES += libdaemon
99else
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200100AVAHI_CONF_OPTS += --disable-libdaemon
Peter Korsgaard744c8222009-03-05 21:38:40 +0000101endif
Eric Andersen21e97d32006-12-12 22:26:51 +0000102
Peter Korsgaard744c8222009-03-05 21:38:40 +0000103ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y)
104AVAHI_DEPENDENCIES += expat
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200105AVAHI_CONF_OPTS += --with-xml=expat
Peter Korsgaard744c8222009-03-05 21:38:40 +0000106else
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200107AVAHI_CONF_OPTS += --with-xml=none
Peter Korsgaard744c8222009-03-05 21:38:40 +0000108endif
109
Peter Korsgaard1ab5a232014-09-22 23:04:59 +0200110ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y)
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200111AVAHI_CONF_OPTS += --enable-compat-libdns_sd
Peter Korsgaard1ab5a232014-09-22 23:04:59 +0200112endif
113
Peter Korsgaard744c8222009-03-05 21:38:40 +0000114ifeq ($(BR2_PACKAGE_DBUS),y)
115AVAHI_DEPENDENCIES += dbus
116else
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200117AVAHI_CONF_OPTS += --disable-dbus
Peter Korsgaard744c8222009-03-05 21:38:40 +0000118endif
119
Peter Korsgaard48011982009-03-17 14:44:20 +0000120ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
121AVAHI_DEPENDENCIES += libglib2
122else
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200123AVAHI_CONF_OPTS += --disable-glib --disable-gobject
Peter Korsgaard48011982009-03-17 14:44:20 +0000124endif
125
Peter Korsgaard90ac14b2009-03-19 11:41:05 +0000126ifeq ($(BR2_PACKAGE_LIBGLADE),y)
127AVAHI_DEPENDENCIES += libglade
Peter Korsgaard48011982009-03-17 14:44:20 +0000128else
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200129AVAHI_CONF_OPTS += --disable-gtk
Peter Korsgaard48011982009-03-17 14:44:20 +0000130endif
131
Peter Korsgaard4ee770e2014-10-26 05:30:02 +0100132ifeq ($(BR2_PACKAGE_LIBGTK3),y)
133AVAHI_DEPENDENCIES += libgtk3
134AVAHI_CONF_OPTS += --enable-gtk3
135else
136AVAHI_CONF_OPTS += --disable-gtk3
137endif
138
Peter Korsgaard6c687a32009-03-13 15:38:03 +0000139ifeq ($(BR2_PACKAGE_PYTHON),y)
Jerzy Grzegorek27dd3292014-12-30 08:36:23 +0100140AVAHI_CONF_ENV += \
141 am_cv_pathless_PYTHON=python \
142 am_cv_path_PYTHON=$(PYTHON_TARGET_BINARY) \
143 am_cv_python_version=$(PYTHON_VERSION) \
144 am_cv_python_platform=linux2 \
145 am_cv_python_pythondir=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
146 am_cv_python_pyexecdir=/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages \
147 py_cv_mod_socket_=yes
Peter Korsgaard6c687a32009-03-13 15:38:03 +0000148
Peter Korsgaard2c3e18c2011-01-26 11:18:50 +0100149AVAHI_DEPENDENCIES += python
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200150AVAHI_CONF_OPTS += --enable-python
Peter Korsgaard6c687a32009-03-13 15:38:03 +0000151else
Thomas De Schampheleireaaffd202014-09-27 21:32:44 +0200152AVAHI_CONF_OPTS += --disable-python
Peter Korsgaard6c687a32009-03-13 15:38:03 +0000153endif
154
Peter Korsgaard7e6e1812014-12-02 17:15:01 +0100155ifeq ($(BR2_PACKAGE_DBUS_PYTHON),y)
156AVAHI_CONF_OPTS += --enable-python-dbus
Jerzy Grzegorek8314ddf2014-12-18 08:51:25 +0100157AVAHI_CONF_ENV += py_cv_mod_dbus_=yes
Peter Korsgaard7e6e1812014-12-02 17:15:01 +0100158AVAHI_DEPENDENCIES += dbus-python
159else
160AVAHI_CONF_OPTS += --disable-python-dbus
161endif
162
Mike Williams7c1db802015-04-21 13:50:34 -0400163AVAHI_CONF_ENV += CFLAGS="$(AVAHI_CFLAGS)"
164
Thomas De Schampheleire0518a982014-09-27 21:32:38 +0200165AVAHI_MAKE_OPTS += $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),LIBS=-lintl)
Peter Korsgaard744c8222009-03-05 21:38:40 +0000166
Peter Korsgaardd3ccfa32014-06-07 00:00:16 +0200167define AVAHI_USERS
168 avahi -1 avahi -1 * - - -
169endef
170
Thomas Petazzoni28025092010-09-01 17:10:57 +0200171define AVAHI_REMOVE_INITSCRIPT
Peter Korsgaard744c8222009-03-05 21:38:40 +0000172 rm -rf $(TARGET_DIR)/etc/init.d/avahi-*
Thomas Petazzoni28025092010-09-01 17:10:57 +0200173endef
174
175AVAHI_POST_INSTALL_TARGET_HOOKS += AVAHI_REMOVE_INITSCRIPT
176
Thomas Petazzoni3b4ec0c2014-10-19 13:10:58 +0200177ifeq ($(BR2_PACKAGE_AVAHI_AUTOIPD),y)
Thomas Petazzoni28025092010-09-01 17:10:57 +0200178define AVAHI_INSTALL_AUTOIPD
Peter Korsgaard7b839932009-01-28 15:12:05 +0000179 rm -f $(TARGET_DIR)/var/lib/avahi-autoipd
Nick Leverton7810eeb2010-05-21 21:03:39 +0200180 $(INSTALL) -d -m 0755 $(TARGET_DIR)/var/lib
Peter Korsgaard1a7da642007-11-26 12:23:13 +0000181 ln -sf /tmp/avahi-autoipd $(TARGET_DIR)/var/lib/avahi-autoipd
Thomas Petazzoni28025092010-09-01 17:10:57 +0200182endef
183
Thomas Petazzoni3b4ec0c2014-10-19 13:10:58 +0200184define AVAHI_INSTALL_AUTOIPD_INIT_SYSV
185 $(INSTALL) -D -m 0755 package/avahi/S05avahi-setup.sh $(TARGET_DIR)/etc/init.d/S05avahi-setup.sh
186endef
187
Thomas Petazzoni28025092010-09-01 17:10:57 +0200188AVAHI_POST_INSTALL_TARGET_HOOKS += AVAHI_INSTALL_AUTOIPD
Peter Korsgaardfdeb9b12007-11-23 15:45:30 +0000189endif
Thomas Petazzoni28025092010-09-01 17:10:57 +0200190
Maxime Hadjinlianac6813f2014-05-03 17:35:45 +0200191ifeq ($(BR2_PACKAGE_AVAHI_DAEMON),y)
192
193define AVAHI_INSTALL_INIT_SYSTEMD
Thomas Petazzonid2fd9ef2014-10-19 13:00:32 +0200194 mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
Maxime Hadjinlianac6813f2014-05-03 17:35:45 +0200195
Mike Williams7c1db802015-04-21 13:50:34 -0400196 ln -fs ../../../../usr/lib/systemd/system/avahi-daemon.service \
Thomas Petazzonid2fd9ef2014-10-19 13:00:32 +0200197 $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-daemon.service
Maxime Hadjinlianac6813f2014-05-03 17:35:45 +0200198
Mike Williams7c1db802015-04-21 13:50:34 -0400199 ln -fs ../../../../usr/lib/systemd/system/avahi-dnsconfd.service \
Thomas Petazzonid2fd9ef2014-10-19 13:00:32 +0200200 $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/avahi-dnsconfd.service
André Erdmann9b41c822014-10-17 21:10:42 +0200201
Thomas Petazzonid2fd9ef2014-10-19 13:00:32 +0200202 $(INSTALL) -D -m 644 package/avahi/avahi_tmpfiles.conf \
203 $(TARGET_DIR)/usr/lib/tmpfiles.d/avahi.conf
Maxime Hadjinlianac6813f2014-05-03 17:35:45 +0200204endef
205
Thomas Petazzoni3b4ec0c2014-10-19 13:10:58 +0200206define AVAHI_INSTALL_DAEMON_INIT_SYSV
207 $(INSTALL) -D -m 0755 package/avahi/S50avahi-daemon $(TARGET_DIR)/etc/init.d/S50avahi-daemon
Thomas Petazzoni28025092010-09-01 17:10:57 +0200208endef
209
Eric Andersen21e97d32006-12-12 22:26:51 +0000210endif
Thomas Petazzoni28025092010-09-01 17:10:57 +0200211
Thomas Petazzoni3b4ec0c2014-10-19 13:10:58 +0200212define AVAHI_INSTALL_INIT_SYSV
213 $(AVAHI_INSTALL_AUTOIPD_INIT_SYSV)
214 $(AVAHI_INSTALL_DAEMON_INIT_SYSV)
215endef
216
Peter Korsgaard1ab5a232014-09-22 23:04:59 +0200217# applications expects to be able to #include <dns_sd.h>
218define AVAHI_STAGING_INSTALL_LIBDNSSD_LINK
219 ln -sf avahi-compat-libdns_sd/dns_sd.h \
220 $(STAGING_DIR)/usr/include/dns_sd.h
221endef
222
223ifeq ($(BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY),y)
224AVAHI_POST_INSTALL_STAGING_HOOKS += AVAHI_STAGING_INSTALL_LIBDNSSD_LINK
225endif
226
Arnout Vandecappelle (Essensium/Mind)e1502eb2012-07-03 00:07:32 +0200227$(eval $(autotools-package))