Allow partial build with selected components

Add --enable-* and --with-pcm-plugins configure options for partial builds.

User can choose the core components (pcm, mixer, rawmidi, hwdep, seq, instr)
via --enable-xxx or --disable-xxx option.  As default, all components are
enabled.

The PCM plugins to build can be selected via --with-pcm-plugins option.
For example, to build only rate and linear plugin, pass
  --with-pcm-plugins=rate,linear
Passing "all" will select all plugins (it's the default value).

The plug plugin will select linear and copy plugins automatically.
The other auto conversions of plug plugin are enabled only when the
corresponding plugin is selected.
This commit is contained in:
Takashi Iwai 2005-11-30 11:38:24 +00:00
parent 79c3d0a1ef
commit db1e39a4e8
8 changed files with 369 additions and 54 deletions

View file

@ -5,14 +5,97 @@ EXTRA_LTLIBRARIES = libpcm.la
libpcm_la_SOURCES = atomic.c mask.c interval.c \
pcm.c pcm_params.c pcm_simple.c \
pcm_hw.c pcm_generic.c pcm_plugin.c pcm_copy.c pcm_linear.c \
pcm_route.c pcm_mulaw.c pcm_alaw.c pcm_adpcm.c \
pcm_rate.c pcm_plug.c pcm_misc.c pcm_mmap.c pcm_multi.c \
pcm_shm.c pcm_file.c pcm_null.c pcm_share.c \
pcm_meter.c pcm_hooks.c pcm_lfloat.c pcm_ladspa.c \
pcm_direct.c pcm_dmix.c pcm_dsnoop.c pcm_dshare.c \
pcm_asym.c pcm_iec958.c pcm_softvol.c pcm_symbols.c \
pcm_ioplug.c pcm_extplug.c
pcm_hw.c pcm_misc.c pcm_mmap.c pcm_symbols.c
if BUILD_PCM_PLUGIN
libpcm_la_SOURCES += pcm_generic.c pcm_plugin.c
endif
if BUILD_PCM_PLUGIN_COPY
libpcm_la_SOURCES += pcm_copy.c
endif
if BUILD_PCM_PLUGIN_LINEAR
libpcm_la_SOURCES += pcm_linear.c
endif
if BUILD_PCM_PLUGIN_ROUTE
libpcm_la_SOURCES += pcm_route.c
endif
if BUILD_PCM_PLUGIN_MULAW
libpcm_la_SOURCES += pcm_mulaw.c
endif
if BUILD_PCM_PLUGIN_ALAW
libpcm_la_SOURCES += pcm_alaw.c
endif
if BUILD_PCM_PLUGIN_ADPCM
libpcm_la_SOURCES += pcm_adpcm.c
endif
if BUILD_PCM_PLUGIN_RATE
libpcm_la_SOURCES += pcm_rate.c
endif
if BUILD_PCM_PLUGIN_PLUG
libpcm_la_SOURCES += pcm_plug.c
endif
if BUILD_PCM_PLUGIN_MULTI
libpcm_la_SOURCES += pcm_multi.c
endif
if BUILD_PCM_PLUGIN_SHM
libpcm_la_SOURCES += pcm_shm.c
endif
if BUILD_PCM_PLUGIN_FILE
libpcm_la_SOURCES += pcm_file.c
endif
if BUILD_PCM_PLUGIN_NULL
libpcm_la_SOURCES += pcm_null.c
endif
if BUILD_PCM_PLUGIN_SHARE
libpcm_la_SOURCES += pcm_share.c
endif
if BUILD_PCM_PLUGIN_METER
libpcm_la_SOURCES += pcm_meter.c
endif
if BUILD_PCM_PLUGIN_HOOKS
libpcm_la_SOURCES += pcm_hooks.c
endif
if BUILD_PCM_PLUGIN_LFLOAT
libpcm_la_SOURCES += pcm_lfloat.c
endif
if BUILD_PCM_PLUGIN_LADSPA
libpcm_la_SOURCES += pcm_ladspa.c
endif
if BUILD_PCM_PLUGIN_DMIX
libpcm_la_SOURCES += pcm_dmix.c
endif
if BUILD_PCM_PLUGIN_DSHARE
libpcm_la_SOURCES += pcm_dshare.c
endif
if BUILD_PCM_PLUGIN_DSNOOP
libpcm_la_SOURCES += pcm_dsnoop.c
endif
if BUILD_PCM_PLUGIN_DMIX
libpcm_la_SOURCES += pcm_direct.c
else
if BUILD_PCM_PLUGIN_DSHARE
libpcm_la_SOURCES += pcm_direct.c
else
if BUILD_PCM_PLUGIN_DSNOOP
libpcm_la_SOURCES += pcm_direct.c
endif
endif
endif
if BUILD_PCM_PLUGIN_ASYM
libpcm_la_SOURCES += pcm_asym.c
endif
if BUILD_PCM_PLUGIN_IEC958
libpcm_la_SOURCES += pcm_iec958.c
endif
if BUILD_PCM_PLUGIN_SOFTVOL
libpcm_la_SOURCES += pcm_softvol.c
endif
if BUILD_PCM_PLUGIN_EXTPLUG
libpcm_la_SOURCES += pcm_extplug.c
endif
if BUILD_PCM_PLUGIN_IOPLUG
libpcm_la_SOURCES += pcm_ioplug.c
endif
EXTRA_DIST = pcm_dmix_i386.c pcm_dmix_x86_64.c pcm_dmix_generic.c