浏览代码

Make alsa-lib depend on libpython, if new BR2_PACKAGE_ALSA_LIB_PYTHON is selected

Ulf Samuelsson 16 年之前
父节点
当前提交
03e3b81d4c
共有 3 个文件被更改,包括 41 次插入13 次删除
  1. 11 0
      package/multimedia/alsa-lib/Config.in
  2. 3 2
      package/multimedia/alsa-lib/alsa-lib.mk
  3. 27 11
      package/python/python.mk

+ 11 - 0
package/multimedia/alsa-lib/Config.in

@@ -5,3 +5,14 @@ config BR2_PACKAGE_ALSA_LIB
 	  functionality to the Linux operating system.
 
 	  http://www.alsa-project.org/
+
+config BR2_PACKAGE_ALSA_LIB_PYTHON
+	bool "Python support for alsa-lib"
+	depends on BR2_PACKAGE_ALSA_LIB
+	select BR2_PACKAGE_PYTHON
+	help
+	  Add python support for alsa-lib.
+	  Python will be built and libpython will be installed
+	  in the target directory
+	  http://www.alsa-project.org/
+

+ 3 - 2
package/multimedia/alsa-lib/alsa-lib.mk

@@ -17,8 +17,9 @@ else
 ALSA_LIB_ABI:=
 endif
 
-ifeq ($(BR2_PACKAGE_PYTHON),y)
+ifeq ($(BR2_PACKAGE_ALSA_LIB_PYTHON),y)
 ALSA_LIB_CONFIGURE_OPTS += --with-pythonlibs=-lpython$(PYTHON_VERSION_MAJOR)
+ALSA_LIB_DEPS = libpython
 else
 ALSA_LIB_CONFIGURE_OPTS += --disable-python
 endif
@@ -74,7 +75,7 @@ $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY): $(STAGING_DIR)/$(ALSA_LIB_TARGET_BINARY
 	-$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/alsa-lib/smixer/*.so
 	touch -c $@
 
-alsa-lib: uclibc $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY)
+alsa-lib: uclibc $(ALSA_LIB_DEPS) $(TARGET_DIR)/$(ALSA_LIB_TARGET_BINARY)
 
 alsa-lib-source: $(DL_DIR)/$(ALSA-LIB_SOURCE)
 

+ 27 - 11
package/python/python.mk

@@ -167,25 +167,41 @@ ifneq ($(BR2_PACKAGE_PYTHON_TKINTER),y)
 	rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/lib-tk
 endif
 
-$(STAGING_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR).so: $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)
-		cp -dpr $(PYTHON_DIR)/libpython*.so.* $(STAGING_DIR)/usr/lib
-		(\
-		cd $(STAGING_DIR)/usr/lib ; \
-		rm -f libpython$(PYTHON_VERSION_MAJOR).so ; \
-		ln -s `basename  \`ls libpython*.so.*\`` libpython$(PYTHON_VERSION_MAJOR).so \
-		)
-
-libpython:	$(STAGING_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR).so
-
-python: uclibc $(PYTHON_DEPS) $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) libpython
+python: uclibc $(PYTHON_DEPS) $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)
 
 python-clean:
 	-$(MAKE) -C $(PYTHON_DIR) distclean
 	rm -f $(PYTHON_DIR)/.configured $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)
 	-rm -rf $(TARGET_DIR)/usr/lib/python* $(TARGET_DIR)/usr/include/python*
+	-rm -f $(STAGING_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR).so
 
 python-dirclean:
 	rm -rf $(PYTHON_DIR)
+
+####  LIBPYTHON
+
+
+LIBPYTHON_BINARY:=libpython$(PYTHON_VERSION_MAJOR).so
+
+libpython:	python $(TARGET_DIR)/usr/lib/$(LIBPYTHON_BINARY)
+
+
+$(STAGING_DIR)/usr/lib/libpython$(PYTHON_VERSION_MAJOR).so: $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)
+		cp -dpr $(PYTHON_DIR)/$(LIBPYTHON_BINARY).* $(STAGING_DIR)/usr/lib
+		(\
+		cd $(STAGING_DIR)/usr/lib ; \
+		rm -f $(LIBPYTHON_BINARY) ; \
+		ln -s `basename  \`ls libpython*.so.*\`` $(LIBPYTHON_BINARY) \
+		)
+
+$(TARGET_DIR)/usr/lib/$(LIBPYTHON_BINARY): $(STAGING_DIR)/usr/lib/$(LIBPYTHON_BINARY)
+		cp -dpr $(STAGING_DIR)/usr/lib/$(LIBPYTHON_BINARY).* $(TARGET_DIR)/usr/lib
+		(\
+		cd $(TARGET_DIR)/usr/lib ; \
+		rm -f $(LIBPYTHON_BINARY) ; \
+		ln -s `basename  \`ls libpython*.so.*\`` $(LIBPYTHON_BINARY) \
+		)
+
 #############################################################
 #
 # Toplevel Makefile options