1*4882a593Smuzhiyun################################################################################ 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# shairport-sync 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun################################################################################ 6*4882a593Smuzhiyun 7*4882a593SmuzhiyunSHAIRPORT_SYNC_VERSION = 3.3.8 8*4882a593SmuzhiyunSHAIRPORT_SYNC_SITE = $(call github,mikebrady,shairport-sync,$(SHAIRPORT_SYNC_VERSION)) 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunSHAIRPORT_SYNC_LICENSE = MIT, BSD-3-Clause 11*4882a593SmuzhiyunSHAIRPORT_SYNC_LICENSE_FILES = LICENSES 12*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES = alsa-lib libconfig popt host-pkgconf 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun# git clone, no configure 15*4882a593SmuzhiyunSHAIRPORT_SYNC_AUTORECONF = YES 16*4882a593Smuzhiyun 17*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS = --with-alsa \ 18*4882a593Smuzhiyun --with-metadata \ 19*4882a593Smuzhiyun --with-pipe \ 20*4882a593Smuzhiyun --with-stdout 21*4882a593Smuzhiyun 22*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_ENV += LIBS="$(SHAIRPORT_SYNC_CONF_LIBS)" 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun# Avahi or tinysvcmdns (shaiport-sync bundles its own version of tinysvcmdns). 25*4882a593Smuzhiyun# Avahi support needs libavahi-client, which is built by avahi if avahi-daemon 26*4882a593Smuzhiyun# and dbus is selected. Since there is no BR2_PACKAGE_LIBAVAHI_CLIENT config 27*4882a593Smuzhiyun# option yet, use the avahi-daemon and dbus congig symbols to check for 28*4882a593Smuzhiyun# libavahi-client. 29*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_AVAHI_DAEMON)$(BR2_PACKAGE_DBUS),yy) 30*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += avahi 31*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-avahi --without-tinysvcmdns 32*4882a593Smuzhiyunelse 33*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --without-avahi --with-tinysvcmdns 34*4882a593Smuzhiyunendif 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBDAEMON),y) 37*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += libdaemon 38*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-libdaemon 39*4882a593Smuzhiyunelse 40*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --without-libdaemon 41*4882a593Smuzhiyunendif 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun# OpenSSL or mbedTLS 44*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_OPENSSL),y) 45*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += openssl 46*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-ssl=openssl 47*4882a593Smuzhiyunelse 48*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += mbedtls 49*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-ssl=mbedtls 50*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_LIBS += -lmbedx509 -lmbedcrypto 51*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_MBEDTLS_COMPRESSION),y) 52*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_LIBS += -lz 53*4882a593Smuzhiyunendif 54*4882a593Smuzhiyunendif 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_CONVOLUTION),y) 57*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += libsndfile 58*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-convolution 59*4882a593Smuzhiyunelse 60*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --without-convolution 61*4882a593Smuzhiyunendif 62*4882a593Smuzhiyun 63*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_DBUS),y) 64*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += libglib2 65*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-dbus-interface --with-mpris-interface 66*4882a593Smuzhiyunelse 67*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --without-dbus-interface --without-mpris-interface 68*4882a593Smuzhiyunendif 69*4882a593Smuzhiyun 70*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_LIBSOXR),y) 71*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += libsoxr 72*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-soxr 73*4882a593Smuzhiyunelse 74*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --without-soxr 75*4882a593Smuzhiyunendif 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_SHAIRPORT_SYNC_MQTT),y) 78*4882a593SmuzhiyunSHAIRPORT_SYNC_DEPENDENCIES += avahi dbus mosquitto 79*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --with-mqtt-client 80*4882a593Smuzhiyunelse 81*4882a593SmuzhiyunSHAIRPORT_SYNC_CONF_OPTS += --without-mqtt-client 82*4882a593Smuzhiyunendif 83*4882a593Smuzhiyun 84*4882a593Smuzhiyundefine SHAIRPORT_SYNC_INSTALL_TARGET_CMDS 85*4882a593Smuzhiyun $(INSTALL) -D -m 0755 $(@D)/shairport-sync \ 86*4882a593Smuzhiyun $(TARGET_DIR)/usr/bin/shairport-sync 87*4882a593Smuzhiyun $(INSTALL) -D -m 0644 $(@D)/scripts/shairport-sync.conf \ 88*4882a593Smuzhiyun $(TARGET_DIR)/etc/shairport-sync.conf 89*4882a593Smuzhiyunendef 90*4882a593Smuzhiyun 91*4882a593Smuzhiyundefine SHAIRPORT_SYNC_INSTALL_INIT_SYSV 92*4882a593Smuzhiyun $(INSTALL) -D -m 0755 package/shairport-sync/S99shairport-sync \ 93*4882a593Smuzhiyun $(TARGET_DIR)/etc/init.d/S99shairport-sync 94*4882a593Smuzhiyunendef 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun$(eval $(autotools-package)) 97