This is part of a patch series to clean up sound/core/Makefile in Linux
2.6.4-rc1.
- Add SND_TIMER, SND_PCM, SND_HWDEP and SND_RAWMIDI configuration symbols.
These symbols select which modules in sound/core get built, building
snd-timer, snd-pcm, snd-hwdep and snd-rawmidi respectively.
- Add reverse dependencies ("select") to select these symbols for core
components where necessary.
- Hide SND_OSSEMUL - we can select this when SND_MIXER_OSS, SND_PCM_OSS
or SND_SEQUENCER_OSS are selected automatically.
- Tweak Makefile to use these new symbols to build these modules.
- Since we now build appropriate modules for core components according
to the new configuration symbols, (eg, snd-timer if SND_SEQUENCER is
selected) we can delete these duplications.
I'm going to explicitly mention SND_RTCTIMER here, since it appeared to
have some complex handling in the makefile. As the Kconfig definition
for this symbol stands, SND_RTCTIMER can only be selected to 'm' if
RTC is 'm' or 'y', and 'y' if RTC is 'y'. This means that the ifeq and
subst in the makefile isn't gaining us anything, so we might as well
do away with it.
--- orig/sound/core/Kconfig Sat Jun 14 22:35:04 2003
+++ linux/sound/core/Kconfig Mon Mar 1 09:37:44 2004
@@ -3,9 +3,23 @@ config SND_BIT32_EMUL
tristate "Emulation for 32-bit applications"
depends on SND && (SPARC64 || PPC64 || X86_64 && IA32_EMULATION)
+config SND_TIMER
+ tristate
+
+config SND_PCM
+ tristate
+ select SND_TIMER
+
+config SND_HWDEP
+ tristate
+
+config SND_RAWMIDI
+ tristate
+
config SND_SEQUENCER
tristate "Sequencer support"
depends on SND
+ select SND_TIMER
help
Say 'Y' or 'M' to enable MIDI sequencer and router support. This feature
allows routing and enqueing MIDI events. Events can be processed at given
@@ -20,26 +34,27 @@ config SND_SEQ_DUMMY
immediately.
config SND_OSSEMUL
- bool "OSS API emulation"
- depends on SND
- help
- Say 'Y' to enable OSS (Open Sound System) API emulation code.
+ bool
config SND_MIXER_OSS
tristate "OSS Mixer API"
- depends on SND_OSSEMUL && SND
+ depends on SND
+ select SND_OSSEMUL
help
Say 'Y' or 'M' to enable mixer OSS API emulation (/dev/mixer*).
config SND_PCM_OSS
tristate "OSS PCM (digital audio) API"
- depends on SND_OSSEMUL && SND
+ depends on SND
+ select SND_OSSEMUL
+ select SND_PCM
help
Say 'Y' or 'M' to enable digital audio (PCM) OSS API emulation (/dev/dsp*).
config SND_SEQUENCER_OSS
bool "OSS Sequencer API"
- depends on SND_OSSEMUL && SND_SEQUENCER
+ depends on SND_SEQUENCER
+ select SND_OSSEMUL
help
Say 'Y' to enable OSS sequencer emulation (both /dev/sequencer and
/dev/music interfaces).
@@ -47,6 +62,7 @@ config SND_SEQUENCER_OSS
config SND_RTCTIMER
tristate "RTC Timer support"
depends on SND && RTC
+ select SND_TIMER
help
Say 'Y' or 'M' to enable RTC timer support for ALSA. ALSA code uses RTC
timer as precise timing source and maps the RTC timer to the ALSA's timer
--- orig/sound/core/Makefile Sun Feb 29 22:53:00 2004
+++ linux/sound/core/Makefile Mon Mar 1 09:39:48 2004
@@ -26,15 +26,14 @@ ifeq ($(subst m,y,$(CONFIG_RTC)),y)
snd-hwdep-objs := hwdep.o
obj-$(CONFIG_SND) += snd.o
-ifeq ($(subst m,y,$(CONFIG_RTC)),y)
- obj-$(CONFIG_SND_RTCTIMER) += snd-timer.o
- obj-$(CONFIG_SND_RTCTIMER) += snd-rtctimer.o
-endif
-obj-$(CONFIG_SND_HWDEP) += snd-hwdep.o
+obj-$(CONFIG_SND_HWDEP) += snd-hwdep.o
+obj-$(CONFIG_SND_TIMER) += snd-timer.o
+obj-$(CONFIG_SND_RTCTIMER) += snd-rtctimer.o
+obj-$(CONFIG_SND_PCM) += snd-pcm.o snd-page-alloc.o
+obj-$(CONFIG_SND_RAWMIDI) += snd-rawmidi.o
-obj-$(CONFIG_SND_MIXER_OSS) += oss/
-obj-$(CONFIG_SND_PCM_OSS) += snd-pcm.o snd-timer.o snd-page-alloc.o oss/
-obj-$(CONFIG_SND_SEQUENCER) += snd-timer.o seq/
+obj-$(CONFIG_SND_OSSEMUL) += oss/
+obj-$(CONFIG_SND_SEQUENCER) += seq/
obj-$(CONFIG_SND_BIT32_EMUL) += ioctl32/
# Toplevel Module Dependency
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of: 2.6 PCMCIA - http://pcmcia.arm.linux.org.uk/
2.6 Serial core
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel