Hello everyone,
Carla Schroder brought up a good point - AstLinux cannot talk to sound
cards!
I have used aplay to pipe in MOH from Line-In, etc sources before and
that has worked well. I just have never had to do it on AstLinux.
Today Carla was trying to figure out how to get chan_oss/chan_alsa to
work. No go. I decided to do something about it. The Gumstix
buildroot included makefiles for alsa-lib and alsa-util. All I had to
do with bump the version, tweak the makefiles, and update a couple of
patches. Big thanks to Craig and the everyone else in the Gumstix
community. Sharing is caring :)! This support has been included in
trunk, and should work for any of the AstLinux target architectures/devices.
I have not yet updated the kernel configs to support ALSA hardware.
I'm pretty out of touch with what sound hardware people have out there
these days. Which modules should I include?
I'm thinking the various USB sound adapters and the VIA stuff that is
included on the mini-itx boards. What other sound adapters would you
like to see supported in AstLinux?
--
Kristian Kielhofner
--- Begin Message ---
Revision: 462
http://svn.sourceforge.net/astlinux/?rev=462&view=rev
Author: krisk84
Date: 2006-11-17 09:19:05 -0800 (Fri, 17 Nov 2006)
Log Message:
-----------
include userspace ALSA support
Modified Paths:
--------------
trunk/package/Config.in
Added Paths:
-----------
trunk/package/alsa-lib/
trunk/package/alsa-lib/Config.in
trunk/package/alsa-lib/alsa-lib-libonly.patch
trunk/package/alsa-lib/alsa-lib.mk
trunk/package/alsa-utils/
trunk/package/alsa-utils/Config.in
trunk/package/alsa-utils/alsa-utils-aplay-amixer-only.patch
trunk/package/alsa-utils/alsa-utils.mk
Modified: trunk/package/Config.in
===================================================================
--- trunk/package/Config.in 2006-11-15 20:36:16 UTC (rev 461)
+++ trunk/package/Config.in 2006-11-17 17:19:05 UTC (rev 462)
@@ -34,6 +34,8 @@
source "package/digiumg729/Config.in"
source "package/chan_misdn/Config.in"
source "package/vm-messenger/Config.in"
+source "package/alsa-lib/Config.in"
+source "package/alsa-utils/Config.in"
source "package/apcupsd/Config.in"
source "package/appweb/Config.in"
source "package/astmanproxy/Config.in"
Added: trunk/package/alsa-lib/Config.in
===================================================================
--- trunk/package/alsa-lib/Config.in (rev 0)
+++ trunk/package/alsa-lib/Config.in 2006-11-17 17:19:05 UTC (rev 462)
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_ALSA-LIB
+ bool "alsa-lib"
+ default n
+ help
+ Install the alsa-lib package
+ http://www.alsa-project.org/
+
Added: trunk/package/alsa-lib/alsa-lib-libonly.patch
===================================================================
--- trunk/package/alsa-lib/alsa-lib-libonly.patch
(rev 0)
+++ trunk/package/alsa-lib/alsa-lib-libonly.patch 2006-11-17 17:19:05 UTC
(rev 462)
@@ -0,0 +1,13 @@
+diff -ur alsa-lib-1.0.13.orig/Makefile.in alsa-lib-1.0.13/Makefile.in
+--- alsa-lib-1.0.13.orig/Makefile.in 2006-09-29 07:44:07.000000000 -0400
++++ alsa-lib-1.0.13/Makefile.in 2006-11-17 12:12:37.000000000 -0500
+@@ -253,8 +253,7 @@
+ target_cpu = @target_cpu@
+ target_os = @target_os@
+ target_vendor = @target_vendor@
+-SUBDIRS = doc include src modules $(am__append_1) $(am__append_2) test \
+- utils
++SUBDIRS = include src $(am__append_1) $(am__append_2)
+ EXTRA_DIST = ChangeLog INSTALL TODO NOTES configure hgcompile libtool depcomp
version MEMORY-LEAK
+ AUTOMAKE_OPTIONS = foreign
+ INCLUDES = -I$(top_srcdir)/include
Added: trunk/package/alsa-lib/alsa-lib.mk
===================================================================
--- trunk/package/alsa-lib/alsa-lib.mk (rev 0)
+++ trunk/package/alsa-lib/alsa-lib.mk 2006-11-17 17:19:05 UTC (rev 462)
@@ -0,0 +1,100 @@
+#############################################################
+#
+# ALSA lib
+#
+#############################################################
+
+ALSA_LIB_VERSION:=1.0.13
+ALSA_LIB_SOURCE:=alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
+ALSA_LIB_SITE:=ftp://ftp.alsa-project.org/pub/lib/
+ALSA_LIB_CAT:=bzcat
+ALSA_LIB_DIR:=$(BUILD_DIR)/${shell basename $(ALSA_LIB_SOURCE) .tar.bz2}
+ALSA_LIB_BINARY:=libasound.so.2.0.0
+
+$(DL_DIR)/$(ALSA_LIB_SOURCE):
+ $(WGET) -P $(DL_DIR) $(ALSA_LIB_SITE)/$(ALSA_LIB_SOURCE)
+
+$(ALSA_LIB_DIR)/.unpacked: $(DL_DIR)/$(ALSA_LIB_SOURCE)
+ $(ALSA_LIB_CAT) $(DL_DIR)/$(ALSA_LIB_SOURCE) | tar -C $(BUILD_DIR)
$(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(ALSA_LIB_DIR) package/alsa-lib
alsa-lib*.patch*
+ touch $(ALSA_LIB_DIR)/.unpacked
+
+# Install ALSA libraries to /usr/lib.
+# TODO: Install configuration files to /etc/alsa instead of /usr/share/alsa.
+$(ALSA_LIB_DIR)/.configured: $(ALSA_LIB_DIR)/.unpacked
+ (cd $(ALSA_LIB_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ LDFLAGS="-L$(STAGING_DIR)/lib" \
+ CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/include" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --prefix=$(STAGING_DIR)/usr \
+ --exec-prefix=$(STAGING_DIR)/usr \
+ --bindir=$(STAGING_DIR)/usr/bin \
+ --sbindir=$(STAGING_DIR)/usr/sbin \
+ --libexecdir=$(STAGING_DIR)/usr/lib \
+ --sysconfdir=$(STAGING_DIR)/etc \
+ --datadir=$(STAGING_DIR)/usr/share \
+ --localstatedir=$(STAGING_DIR)/var \
+ --mandir=$(STAGING_DIR)/usr/man \
+ --infodir=$(STAGING_DIR)/usr/info \
+ --with-pic \
+ --disable-static \
+ --disable-aload \
+ --disable-rawmidi \
+ --disable-hwdep \
+ --disable-seq \
+ --disable-instr \
+ );
+ touch $(ALSA_LIB_DIR)/.configured
+
+# TODO: check against specific binary.
+$(ALSA_LIB_DIR)/src/.libs/$(ALSA_LIB_BINARY): $(ALSA_LIB_DIR)/.configured
$(TARGET_CC)
+ $(MAKE) CC=$(TARGET_CC) -C $(ALSA_LIB_DIR)
+
+# Install into staging dir, for other packages to build against.
+$(STAGING_DIR)/lib/$(ALSA_LIB_BINARY):
$(ALSA_LIB_DIR)/src/.libs/$(ALSA_LIB_BINARY)
+ $(MAKE) \
+ prefix=$(STAGING_DIR) \
+ exec_prefix=$(STAGING_DIR) \
+ bindir=$(STAGING_DIR)/bin \
+ sbindir=$(STAGING_DIR)/sbin \
+ libexecdir=$(STAGING_DIR)/lib \
+ datadir=$(STAGING_DIR)/usr/share \
+ sysconfdir=$(STAGING_DIR)/etc \
+ localstatedir=$(STAGING_DIR)/var \
+ libdir=$(STAGING_DIR)/lib \
+ infodir=$(STAGING_DIR)/info \
+ mandir=$(STAGING_DIR)/man \
+ includedir=$(STAGING_DIR)/include \
+ -C $(ALSA_LIB_DIR) install
+# Install into target dir, for utils using shared libraries on target.
+$(TARGET_DIR)/lib/$(ALSA_LIB_BINARY): $(STAGING_DIR)/lib/$(ALSA_LIB_BINARY)
+ install -D -m 0644 $< $@
+ $(STRIP) $@
+ (cd $(TARGET_DIR)/lib; \
+ rm -f libasound.so libasound.so.2 libasound.so.2.0; \
+ ln -s libasound.so.2.0.0 libasound.so; \
+ ln -s libasound.so.2.0.0 libasound.so.2.0; \
+ ln -s libasound.so.2.0.0 libasound.so.2)
+
+alsa-lib: uclibc $(TARGET_DIR)/lib/$(ALSA_LIB_BINARY)
+
+alsa-lib-clean:
+ $(MAKE) -C $(ALSA_LIB_DIR) distclean
+ rm $(ALSA_LIB_DIR)/.configured
+
+alsa-lib-dirclean:
+ rm -rf $(ALSA_LIB_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_ALSA_LIB)),y)
+TARGETS+=alsa-lib
+endif
+
Added: trunk/package/alsa-utils/Config.in
===================================================================
--- trunk/package/alsa-utils/Config.in (rev 0)
+++ trunk/package/alsa-utils/Config.in 2006-11-17 17:19:05 UTC (rev 462)
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_ALSA-UTILS
+ bool "alsa-utils"
+ select BR2_PACKAGE_ALSA-LIB
+ default n
+ help
+ Install the alsa-utils package
+ http://www.alsa-project.org/
+
Added: trunk/package/alsa-utils/alsa-utils-aplay-amixer-only.patch
===================================================================
--- trunk/package/alsa-utils/alsa-utils-aplay-amixer-only.patch
(rev 0)
+++ trunk/package/alsa-utils/alsa-utils-aplay-amixer-only.patch 2006-11-17
17:19:05 UTC (rev 462)
@@ -0,0 +1,12 @@
+diff -ur alsa-utils-1.0.13.orig/Makefile.in alsa-utils-1.0.13/Makefile.in
+--- alsa-utils-1.0.13.orig/Makefile.in 2006-09-29 07:54:55.000000000 -0400
++++ alsa-utils-1.0.13/Makefile.in 2006-11-17 12:15:23.000000000 -0500
+@@ -185,7 +185,7 @@
+ INCLUDES = -I$(top_srcdir)/include
+ @[EMAIL PROTECTED] =
+ @[EMAIL PROTECTED] = alsamixer
+-SUBDIRS = include alsactl alsaconf $(ALSAMIXER_DIR) amidi amixer aplay iecset
seq speaker-test utils m4 po
++SUBDIRS = include amixer aplay
+ EXTRA_DIST = config.rpath mkinstalldirs config.rpath mkinstalldirs ChangeLog
INSTALL TODO README configure hgcompile depcomp
+ AUTOMAKE_OPTIONS = foreign
+ ACLOCAL_AMFLAGS = -I m4
Added: trunk/package/alsa-utils/alsa-utils.mk
===================================================================
--- trunk/package/alsa-utils/alsa-utils.mk (rev 0)
+++ trunk/package/alsa-utils/alsa-utils.mk 2006-11-17 17:19:05 UTC (rev
462)
@@ -0,0 +1,70 @@
+#############################################################
+#
+# ALSA utils
+#
+#############################################################
+ALSA_UTILS_VERSION:=1.0.13
+ALSA_UTILS_SOURCE:=alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2
+ALSA_UTILS_SITE:=ftp://ftp.alsa-project.org/pub/utils
+ALSA_UTILS_DIR:=$(BUILD_DIR)/${shell basename $(ALSA_UTILS_SOURCE) .tar.bz2}
+ALSA_UTILS_WORKDIR:=$(BUILD_DIR)/alsa-utils-$(ALSA_UTILS_VERSION)
+ALSA_UTILS_BINARY:=aplay
+
+# TODO: Not necessary for new buildroot?
+TAR_OPTIONS:=$(TAR_OPTIONS)
+
+$(DL_DIR)/$(ALSA_UTILS_SOURCE):
+ $(WGET) -P $(DL_DIR) $(ALSA_UTILS_SITE)/$(ALSA_UTILS_SOURCE)
+
+$(ALSA_UTILS_DIR)/.unpacked: $(DL_DIR)/$(ALSA_UTILS_SOURCE)
+ bzcat $(DL_DIR)/$(ALSA_UTILS_SOURCE) | tar -C $(BUILD_DIR)
$(TAR_OPTIONS) -
+ toolchain/patch-kernel.sh $(ALSA_UTILS_DIR) package/alsa-utils
alsa-utils*.patch*
+ touch $(ALSA_UTILS_DIR)/.unpacked
+
+# TODO: Check if ncurses is available -- if so, build alsamixer.
+$(ALSA_UTILS_DIR)/.configured: $(ALSA_UTILS_DIR)/.unpacked
+ (cd $(ALSA_UTILS_DIR); rm -rf config.cache; \
+ $(TARGET_CONFIGURE_OPTS) \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ ./configure \
+ --target=$(GNU_TARGET_NAME) \
+ --host=$(GNU_TARGET_NAME) \
+ --build=$(GNU_HOST_NAME) \
+ --disable-alsatest \
+ --disable-alsamixer \
+ --with-alsa-prefix=$(STAGING_DIR)/lib \
+ --with-alsa-inc-prefix=$(STAGING_DIR)/include \
+ $(DISABLE_NLS) \
+ $(DISABLE_LARGEFILE) \
+ );
+ touch $(ALSA_UTILS_DIR)/.configured
+
+$(ALSA_UTILS_DIR)/$(ALSA_UTILS_BINARY)/$(ALSA_UTILS_BINARY):
$(ALSA_UTILS_DIR)/.configured
+ $(MAKE) CC=$(TARGET_CC) -C $(ALSA_UTILS_WORKDIR)
+
+# TODO: Only one target -- is that bad?
+$(TARGET_DIR)/usr/bin/$(ALSA_UTILS_BINARY):
$(ALSA_UTILS_DIR)/$(ALSA_UTILS_BINARY)/$(ALSA_UTILS_BINARY)
+ for i in aplay amixer;do \
+ install -D -m 0755 $(ALSA_UTILS_DIR)/$$i/$$i
$(TARGET_DIR)/usr/bin/$$i; \
+ $(STRIP) $(TARGET_DIR)/usr/bin/$$i; \
+ done
+ (cd $(TARGET_DIR)/usr/bin;rm -f arecord;ln -s aplay arecord)
+
+alsa-utils: alsa-lib $(TARGET_DIR)/usr/bin/$(ALSA_UTILS_BINARY)
+
+alsa-utils-clean:
+ $(MAKE) -C $(ALSA_UTILS_DIR) distclean
+ rm $(ALSA_UTILS_DIR)/.configured
+
+alsa-utils-dirclean:
+ rm -rf $(ALSA_UTILS_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_ALSA_UTILS)),y)
+TARGETS+=alsa-utils
+endif
+
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Astlinux-commits mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/astlinux-commits
Donations to support AstLinux are graciously accepted via PayPal to [EMAIL
PROTECTED]
--- End Message ---
_______________________________________________
Astlinux-users mailing list
[email protected]
http://lists.kriscompanies.com/mailman/listinfo/astlinux-users
Donations to support AstLinux are graciously accepted via PayPal to [EMAIL
PROTECTED]