]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blobdiff - package/alsa-lib/alsa-lib.mk
Rename BR2_PREFER_STATIC_LIB to BR2_STATIC_LIBS
[coffee/buildroot.git] / package / alsa-lib / alsa-lib.mk
index 7a0b57484d2c33b8496ecbc5c68f148b893a048a..2890a38cae17f8d65214275d64159ebe36eaf272 100644 (file)
@@ -1,88 +1,79 @@
-#############################################################
+################################################################################
 #
 # alsa-lib
 #
-#############################################################
-ALSA_LIB_VERSION:=1.0.14a
-ALSA_LIB_SOURCE:=alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
-ALSA_LIB_SITE:=ftp://ftp.alsa-project.org/pub/lib
-ALSA_LIB_DIR:=$(BUILD_DIR)/alsa-lib-$(ALSA_LIB_VERSION)
-ALSA_LIB_CAT:=$(BZCAT)
-ALSA_LIB_BINARY:=libasound.so.2.0.0
-ALSA_LIB_TARGET_BINARY:=usr/lib/$(ALSA_LIB_BINARY)
+################################################################################
 
-ifeq ($(BR2_arm),y)
-ALSA_LIB_ABI:=-mabi=aapcs-linux
+ALSA_LIB_VERSION = 1.0.28
+ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
+ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib
+ALSA_LIB_LICENSE = LGPLv2.1+
+ALSA_LIB_LICENSE_FILES = COPYING
+ALSA_LIB_INSTALL_STAGING = YES
+ALSA_LIB_CFLAGS = $(TARGET_CFLAGS)
+ALSA_LIB_AUTORECONF = YES
+ALSA_LIB_CONF_OPTS = --with-alsa-devdir=$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_DEVDIR)) \
+                   --with-pcm-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS))" \
+                   --with-ctl-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS))" \
+                   --without-versioned
+
+# Can't build with static & shared at the same time (1.0.25+)
+ifeq ($(BR2_STATIC_LIBS),y)
+ALSA_LIB_CONF_OPTS += --enable-shared=no
 else
-ALSA_LIB_ABI:=
+ALSA_LIB_CONF_OPTS += --enable-static=no
 endif
 
-ifeq ($(BR2_SOFT_FLOAT),y)
-       SOFT_FLOAT=--with-softfloat
+ifneq ($(BR2_PACKAGE_ALSA_LIB_ALOAD),y)
+ALSA_LIB_CONF_OPTS += --disable-aload
+endif
+ifneq ($(BR2_PACKAGE_ALSA_LIB_MIXER),y)
+ALSA_LIB_CONF_OPTS += --disable-mixer
+endif
+ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM),y)
+ALSA_LIB_CONF_OPTS += --disable-pcm
+endif
+ifneq ($(BR2_PACKAGE_ALSA_LIB_RAWMIDI),y)
+ALSA_LIB_CONF_OPTS += --disable-rawmidi
+endif
+ifneq ($(BR2_PACKAGE_ALSA_LIB_HWDEP),y)
+ALSA_LIB_CONF_OPTS += --disable-hwdep
+endif
+ifneq ($(BR2_PACKAGE_ALSA_LIB_SEQ),y)
+ALSA_LIB_CONF_OPTS += --disable-seq
+endif
+ifneq ($(BR2_PACKAGE_ALSA_LIB_ALISP),y)
+ALSA_LIB_CONF_OPTS += --disable-alisp
+endif
+ifneq ($(BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS),y)
+ALSA_LIB_CONF_OPTS += --disable-old-symbols
 endif
 
-$(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-$(ALSA_LIB_VERSION)\*.patch*
-       $(CONFIG_UPDATE) $(ALSA_LIB_DIR)
-       touch $@
-
-$(ALSA_LIB_DIR)/.configured: $(ALSA_LIB_DIR)/.unpacked
-       (cd $(ALSA_LIB_DIR); rm -rf config.cache; \
-               $(TARGET_CONFIGURE_ARGS) \
-               $(TARGET_CONFIGURE_OPTS) \
-               CFLAGS="$(TARGET_CFLAGS) $(ALSA_LIB_ABI)" \
-               LDFLAGS="$(TARGET_LDFLAGS) -lm" \
-               ./configure \
-               --target=$(GNU_TARGET_NAME) \
-               --host=$(GNU_TARGET_NAME) \
-               --build=$(GNU_HOST_NAME) \
-               --prefix=/usr \
-               --sysconfdir=/etc \
-               --enable-shared \
-               --enable-static \
-               --disable-docs \
-               --with-alsa-devdir=/dev \
-               $(SOFT_FLOAT) \
-               $(DISABLE_NLS) \
-       )
-       touch $@
-
-$(ALSA_LIB_DIR)/src/.libs/$(ALSA_LIB_BINARY): $(ALSA_LIB_DIR)/.configured
-       $(MAKE) -C $(ALSA_LIB_DIR)
-       touch -c $@
-
-$(STAGING_DIR)/$(ALSA_LIB_TARGET_BINARY): $(ALSA_LIB_DIR)/src/.libs/$(ALSA_LIB_BINARY)
-       $(MAKE) DESTDIR=$(STAGING_DIR) -C $(ALSA_LIB_DIR) install
-       $(SED) "s,^libdir=.*,libdir=\'$(STAGING_DIR)/usr/lib\',g" $(STAGING_DIR)/usr/lib/libasound.la
+ifeq ($(BR2_avr32),y)
+ALSA_LIB_CFLAGS += -DAVR32_INLINE_BUG
+endif
 
-$(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY): $(STAGING_DIR)/$(ALSA_LIB_TARGET_BINARY)
-       mkdir -p $(TARGET_DIR)/usr/share/alsa $(TARGET_DIR)/usr/lib/alsa-lib
-       cp -dpf $(STAGING_DIR)/usr/lib/libasound.so* $(TARGET_DIR)/usr/lib/
-       cp -rdpf $(STAGING_DIR)/usr/share/alsa/* $(TARGET_DIR)/usr/share/alsa/
-       cp -rdpf $(STAGING_DIR)/usr/lib/alsa-lib/* $(TARGET_DIR)/usr/lib/alsa-lib/
-       -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libasound.so*
-       -$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/alsa-lib/smixer/*.so
-       touch -c $@
+ifeq ($(BR2_PACKAGE_ALSA_LIB_PYTHON),y)
+ALSA_LIB_CONF_OPTS += \
+       --with-pythonlibs=-lpython$(PYTHON_VERSION_MAJOR) \
+       --with-pythonincludes=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)
+ALSA_LIB_CFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)
+ALSA_LIB_DEPENDENCIES = python
+else
+ALSA_LIB_CONF_OPTS += --disable-python
+endif
 
-alsa-lib: uclibc $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY)
+ifeq ($(BR2_SOFT_FLOAT),y)
+ALSA_LIB_CONF_OPTS += --with-softfloat
+endif
 
-alsa-lib-source: $(DL_DIR)/$(ALSA-LIB_SOURCE)
+ifeq ($(BR2_bfin),y)
+# blackfin external toolchains don't have versionsort. Fake it using alphasort
+# instead
+ALSA_LIB_CFLAGS += -Dversionsort=alphasort
+endif
 
-alsa-lib-clean:
-       rm -f $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY)
-       -$(MAKE) -C $(ALSA_LIB_DIR) clean
+ALSA_LIB_CONF_ENV = CFLAGS="$(ALSA_LIB_CFLAGS)" \
+                   LDFLAGS="$(TARGET_LDFLAGS) -lm"
 
-alsa-lib-dirclean:
-       rm -rf $(ALSA_LIB_DIR)
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(strip $(BR2_PACKAGE_ALSA_LIB)),y)
-TARGETS+=alsa-lib
-endif
+$(eval $(autotools-package))