1################################################################################
2#
3# alsa-utils
4#
5################################################################################
6
7ALSA_UTILS_VERSION = 1.2.11
8ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2
9ALSA_UTILS_SITE = https://www.alsa-project.org/files/pub/utils
10ALSA_UTILS_LICENSE = GPL-2.0
11ALSA_UTILS_LICENSE_FILES = COPYING
12# 0011-configure.ac-fix-UMP-support-detection.patch
13ALSA_UTILS_AUTORECONF = YES
14ALSA_UTILS_INSTALL_STAGING = YES
15ALSA_UTILS_DEPENDENCIES = host-pkgconf alsa-lib \
16	$(if $(BR2_PACKAGE_NCURSES),ncurses) \
17	$(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate) \
18	$(TARGET_NLS_DEPENDENCIES)
19
20ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSACTL),y)
21ALSA_UTILS_SELINUX_MODULES += alsa
22endif
23
24ALSA_UTILS_CONF_ENV = \
25	ac_cv_prog_ncurses5_config=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS) \
26	LIBS=$(TARGET_NLS_LIBS)
27
28ALSA_UTILS_CONF_OPTS = \
29	--disable-xmlto \
30	--disable-rst2man \
31	--with-curses=$(if $(BR2_PACKAGE_NCURSES_WCHAR),ncursesw,ncurses)
32
33ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSALOOP),y)
34ALSA_UTILS_CONF_OPTS += --enable-alsaloop
35else
36ALSA_UTILS_CONF_OPTS += --disable-alsaloop
37endif
38
39ifneq ($(BR2_PACKAGE_ALSA_UTILS_ALSAMIXER),y)
40ALSA_UTILS_CONF_OPTS += --disable-alsamixer
41endif
42
43ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
44ALSA_UTILS_CONF_OPTS += --enable-bat
45# Analysis support requires fftw single precision
46ALSA_UTILS_DEPENDENCIES += $(if $(BR2_PACKAGE_FFTW_SINGLE),fftw-single)
47else
48ALSA_UTILS_CONF_OPTS += --disable-bat
49endif
50
51ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSACONF) += usr/sbin/alsaconf
52ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSACTL) += usr/sbin/alsactl
53ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSALOOP) += usr/bin/alsaloop
54ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSAMIXER) += usr/bin/alsamixer
55ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSATPLG) += usr/bin/alsatplg
56ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_AMIDI) += usr/bin/amidi
57ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_AMIXER) += usr/bin/amixer
58ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_APLAY) += usr/bin/aplay usr/bin/arecord
59ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_BAT) += usr/bin/alsabat
60ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_IECSET) += usr/bin/iecset
61ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ACONNECT) += usr/bin/aconnect
62ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSAUCM) += usr/bin/alsaucm
63ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_APLAYMIDI) += usr/bin/aplaymidi
64ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI) += usr/bin/arecordmidi
65ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ASEQDUMP) += usr/bin/aseqdump
66ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ASEQNET) += usr/bin/aseqnet
67ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST) += usr/bin/speaker-test
68
69define ALSA_UTILS_INSTALL_TARGET_CMDS
70	mkdir -p $(TARGET_DIR)/var/lib/alsa
71	for i in $(ALSA_UTILS_TARGETS_y); do \
72		$(INSTALL) -D -m 755 $(STAGING_DIR)/$$i $(TARGET_DIR)/$$i || exit 1; \
73	done
74	if [ -x "$(TARGET_DIR)/usr/bin/speaker-test" ]; then \
75		mkdir -p $(TARGET_DIR)/usr/share/alsa/speaker-test; \
76		mkdir -p $(TARGET_DIR)/usr/share/sounds/alsa; \
77		cp -rdpf $(STAGING_DIR)/usr/share/alsa/speaker-test/* $(TARGET_DIR)/usr/share/alsa/speaker-test/; \
78		cp -rdpf $(STAGING_DIR)/usr/share/sounds/alsa/* $(TARGET_DIR)/usr/share/sounds/alsa/; \
79	fi
80	if [ -x "$(TARGET_DIR)/usr/sbin/alsactl" ]; then \
81		mkdir -p $(TARGET_DIR)/usr/share/; \
82		cp -rdpf $(STAGING_DIR)/usr/share/alsa/* $(TARGET_DIR)/usr/share/alsa/; \
83	fi
84endef
85
86ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSACTL)$(BR2_INIT_SYSTEMD),yy)
87ALSA_UTILS_DEPENDENCIES += systemd
88ALSA_UTILS_CONF_OPTS += --with-systemdsystemunitdir=/usr/lib/systemd/system
89define ALSA_UTILS_INSTALL_INIT_SYSTEMD
90	$(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-restore.service \
91		$(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service
92	$(INSTALL) -D -m 0644 $(@D)/alsactl/alsa-state.service \
93		$(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service
94	$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d
95	printf '[Install]\nWantedBy=multi-user.target\n' \
96		>$(TARGET_DIR)/usr/lib/systemd/system/alsa-restore.service.d/buildroot-enable.conf
97	$(INSTALL) -d -m 0755 $(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d
98	printf '[Install]\nWantedBy=multi-user.target\n' \
99		>$(TARGET_DIR)/usr/lib/systemd/system/alsa-state.service.d/buildroot-enable.conf;
100endef
101endif
102
103$(eval $(autotools-package))
104