tinyalsa: new package
authorMaxime Hadjinlian <maxime.hadjinlian@gmail.com>
Sun, 5 Oct 2014 17:51:28 +0000 (19:51 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 6 Oct 2014 19:14:19 +0000 (21:14 +0200)
[Thomas:
 - remove 'default n', since it's the default
 - add dependency on !BR2_PREFER_STATIC_LIB since the Makefile always
   builds a shared library.
 - move from Audio/video applications to Libraries -> Audio.]

Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/Config.in
package/tinyalsa/Config.in [new file with mode: 0644]
package/tinyalsa/tinyalsa.mk [new file with mode: 0644]

index aad968c6058cbe8e1f451000b880ab0fb6f136a2..2dbe6f8ac383947ef3f90a8011ffb5ab2172530a 100644 (file)
@@ -556,6 +556,7 @@ menu "Audio/Sound"
        source "package/portaudio/Config.in"
        source "package/speex/Config.in"
        source "package/taglib/Config.in"
+       source "package/tinyalsa/Config.in"
        source "package/tremor/Config.in"
        source "package/vo-aacenc/Config.in"
        source "package/webrtc-audio-processing/Config.in"
diff --git a/package/tinyalsa/Config.in b/package/tinyalsa/Config.in
new file mode 100644 (file)
index 0000000..3021307
--- /dev/null
@@ -0,0 +1,17 @@
+config BR2_PACKAGE_TINYALSA
+       bool "tinyalsa"
+       depends on !BR2_PREFER_STATIC_LIB
+       help
+         a small library to interface with ALSA in the Linux kernel
+
+         The aims are:
+
+         - Provide a basic pcm and mixer API
+         - If it's not absolutely needed, don't add it to the API
+         - Avoid supporting complex and unnecessary operations that could be dealt
+           with at a higher level
+
+         https://github.com/tinyalsa/tinyalsa
+
+comment "tinyalsa needs toolchain w/ dynamic library"
+       depends on BR2_PREFER_STATIC_LIB
diff --git a/package/tinyalsa/tinyalsa.mk b/package/tinyalsa/tinyalsa.mk
new file mode 100644 (file)
index 0000000..b287e78
--- /dev/null
@@ -0,0 +1,34 @@
+#############################################################
+#
+# tinyalsa
+#
+#############################################################
+
+TINYALSA_VERSION = f2a7b6d3d81bd337a540d56704b4aaa7bdb046fe
+TINYALSA_SITE = $(call github,tinyalsa,tinyalsa,$(TINYALSA_VERSION))
+TINYALSA_LICENSE = BSD-3c
+TINYALSA_INSTALL_STAGING = YES
+
+define TINYALSA_BUILD_CMDS
+       $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D)
+endef
+
+define TINYALSA_INSTALL_STAGING_CMDS
+       $(INSTALL) -D -m 0755 $(@D)/libtinyalsa.so \
+                       $(STAGING_DIR)/usr/lib/libtinyalsa.so
+       $(INSTALL) -D -m 0644 $(@D)/include/sound/asound.h \
+                       $(STAGING_DIR)/usr/include/sound/asound.h
+       $(INSTALL) -D -m 0644 $(@D)/include/tinyalsa/asoundlib.h \
+                       $(STAGING_DIR)/usr/include/tinyalsa/asoundlib.h
+endef
+
+define TINYALSA_INSTALL_TARGET_CMDS
+       $(INSTALL) -D -m 0755 $(@D)/libtinyalsa.so \
+                       $(TARGET_DIR)/usr/lib/libtinyalsa.so
+       $(INSTALL) -D -m 0755 $(@D)/tinyplay $(TARGET_DIR)/usr/bin/tinyplay
+       $(INSTALL) -D -m 0755 $(@D)/tinycap $(TARGET_DIR)/usr/bin/tinycap
+       $(INSTALL) -D -m 0755 $(@D)/tinymix $(TARGET_DIR)/usr/bin/tinymix
+       $(INSTALL) -D -m 0755 $(@D)/tinypcminfo $(TARGET_DIR)/usr/bin/tinypcminfo
+endef
+
+$(eval $(generic-package))