* [ptxdist] [PATCH 3/3] alsa-utils: replace dependencies added by accident by the real ones
2019-11-04 8:56 [ptxdist] [PATCH 1/3] alsa-lib: provide a way to limit the PCM modules Juergen Borleis
2019-11-04 8:56 ` [ptxdist] [PATCH 2/3] alsa-libs: honor inter-package dependencies Juergen Borleis
@ 2019-11-04 8:56 ` Juergen Borleis
1 sibling, 0 replies; 3+ messages in thread
From: Juergen Borleis @ 2019-11-04 8:56 UTC (permalink / raw)
To: ptxdist
These old dependencies do not really exist. It seems so, if one does tests
with libalsa and does not remove the header files from the previous try.
Then the header detection in alsa-utils reports false positives and tries
to build files, where no backend support is available in the current
libalsa.
On the other hand, if one enables an alsa-utils tool and the alsa-lib
headers are missing, the tool gets disabled again silently. It only works,
if all dependencies are correct (like always...).
Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
---
rules/alsa-utils.in | 66 ++++++++++++++++++++++++++++++++++++++++++++-------
rules/alsa-utils.make | 21 +++++++++++++---
2 files changed, 76 insertions(+), 11 deletions(-)
diff --git a/rules/alsa-utils.in b/rules/alsa-utils.in
index b6529d75d..0615e73f6 100644
--- a/rules/alsa-utils.in
+++ b/rules/alsa-utils.in
@@ -4,15 +4,17 @@ menuconfig ALSA_UTILS
tristate
prompt "alsa utils "
select ALSA_LIB
-# all tools from this package rely on special parts in the library:
- select ALSA_LIB_MIXER
- select ALSA_LIB_PCM
- select ALSA_LIB_RAWMIDI
- select ALSA_LIB_SEQ
- select ALSA_LIB_UCM
+ select ALSA_LIB_UCM if ALSA_UTILS_USE_CASE_MANAGER
+ select ALSA_LIB_RAWMIDI if ALSA_UTILS_RAW_MIDI
+ select ALSA_LIB_MIXER if ALSA_UTILS_AMIXER || ALSA_UTILS_ALSAMIXER
+ select ALSA_LIB_PCM if ALSA_UTILS_APLAYRECORD || ALSA_UTILS_IECSET || ALSA_UTILS_MIDI || ALSA_UTILS_ALSALOOP
+ select ALSA_LIB_SEQ if ALSA_UTILS_SEQTOOLS || ALSA_UTILS_ACONNECT || ALSA_UTILS_MIDI
+ select LIBC_M if ALSA_UTILS_ALSALOOP
select LIBC_PTHREAD
select NCURSES if ALSA_UTILS_ALSAMIXER
select SYSTEMD if ALSA_UTILS_SYSTEMD_UNIT
+ # to detect where to install its udev rules
+ select UDEV
help
Some utils to handle the Advanced Linux Sound Architecture.
With these utils you can control your sound device, for
@@ -44,7 +46,7 @@ config ALSA_UTILS_ALSAMIXER
select NCURSES_MENU
select NCURSES_PANEL
help
- Build the alsamixer tool.
+ Build the console and ncurses based 'alsamixer' tool.
config ALSA_UTILS_ALSALOOP
bool
@@ -53,5 +55,53 @@ config ALSA_UTILS_ALSALOOP
alsaloop allows create a PCM loopback between a PCM capture
device and a PCM playback device.
-endif
+config ALSA_UTILS_USE_CASE_MANAGER
+ bool
+ prompt "alsaucm"
+ help
+ Command-line tool to use the 'ALSA Use Case Interface'.
+config ALSA_UTILS_RAW_MIDI
+ bool
+ prompt "amidi"
+ help
+ Command-line tool to read from and write to ALSA RawMIDI ports.
+
+config ALSA_UTILS_MIDI
+ bool
+ prompt "aplaymidi/arecordmidi"
+ help
+ FIXME
+
+config ALSA_UTILS_AMIXER
+ bool
+ prompt "amixer"
+ help
+ Command-line mixer for ALSA soundcard driver.
+
+config ALSA_UTILS_APLAYRECORD
+ bool
+ prompt "aplay/arecord"
+ help
+ Command-line player and recorder for ALSA soundcard driver.
+
+config ALSA_UTILS_IECSET
+ bool
+ prompt "iecset"
+ help
+ Command-line tool to set or dump IEC958 status bits
+
+config ALSA_UTILS_SEQTOOLS
+ bool
+ prompt "aseqdump/aseqnet"
+ help
+ Installs 'aseqdump' to show events received at an ALSA sequencer port
+ and 'aseqnet' to connect an ALSA sequencer connector over network.
+
+config ALSA_UTILS_ACONNECT
+ bool
+ prompt "aconnect"
+ help
+ ALSA sequencer connection manager
+
+endif
diff --git a/rules/alsa-utils.make b/rules/alsa-utils.make
index 2031f75f8..77151b137 100644
--- a/rules/alsa-utils.make
+++ b/rules/alsa-utils.make
@@ -63,19 +63,34 @@ $(STATEDIR)/alsa-utils.targetinstall:
@$(call install_fixup, alsa-utils, DESCRIPTION, missing)
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/sbin/alsactl)
+ifdef PTXCONF_ALSA_UTILS_RAW_MIDI
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/amidi)
+endif
+ifdef PTXCONF_ALSA_UTILS_AMIXER
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/amixer)
+endif
+ifdef PTXCONF_ALSA_UTILS_APLAYRECORD
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/aplay)
-# # link arecord aplay
+# # same utility for recording - only a link is required
@$(call install_link, alsa-utils, aplay, /usr/bin/arecord)
-
+endif
+ifdef PTXCONF_ALSA_UTILS_IECSET
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/iecset)
+endif
+ifdef PTXCONF_ALSA_UTILS_ACONNECT
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/aconnect)
+endif
+ifdef PTXCONF_ALSA_UTILS_MIDI
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/aplaymidi)
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/arecordmidi)
+endif
+ifdef PTXCONF_ALSA_UTILS_SEQTOOLS
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/aseqdump)
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/aseqnet)
-
+endif
+ifdef PTXCONF_ALSA_UTILS_USE_CASE_MANAGER
+ @$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/alsaucm)
+endif
ifdef PTXCONF_ALSA_UTILS_ALSAMIXER
@$(call install_copy, alsa-utils, 0, 0, 0755, -, /usr/bin/alsamixer)
endif
--
2.11.0
_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de
^ permalink raw reply [flat|nested] 3+ messages in thread