[Buildroot] [PATCH] more python enhancements
Bernhard Fischer
rep.dot.nop at gmail.com
Fri Jan 18 04:37:50 PST 2008
On Fri, Jan 18, 2008 at 01:57:45PM +1100, Hamish Moffatt wrote:
>Here's another improvement to the Python package.
>
>1. Don't install the development headers, tools and static library into
>the target system unless new configuration item is enabled.
>
>2. Always install the development headers etc into the staging_dir, so
>they can be used to build extension modules.
>
>
>Hamish
>--
>Hamish Moffatt VK3SB <hamish at debian.org> <hamish at cloud.net.au>
>Index: python.mk
>===================================================================
>--- python.mk (.../mirror/buildroot/package/python) (revision 3461)
>+++ python.mk (.../beethoven/elara/trunk/buildroot/package/python) (revision 3461)
>@@ -4,6 +4,7 @@
> #
> #############################################################
> PYTHON_VERSION=2.4.2
>+PYTHON_VERSION_SHORT=2.4
> PYTHON_SOURCE:=Python-$(PYTHON_VERSION).tar.bz2
> PYTHON_SITE:=http://python.org/ftp/python/$(PYTHON_VERSION)
> PYTHON_DIR:=$(BUILD_DIR)/Python-$(PYTHON_VERSION)
>@@ -136,16 +137,36 @@
> find $(TARGET_DIR)/usr/lib/ -name '*.pyo' -exec rm {} \; && \
> rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \
> $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc \
>- $(TARGET_DIR)/usr/lib/python*/test
>+ $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/test
>+ cp -a $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT) $(STAGING_DIR)/usr/include/
NO.
There is no portable "cp -a", either use $(INSTALL) which would be
preferred or if nothing else helps cp -dpf
>+ mkdir -p $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)
>+ cp -a $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config $(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/
$(INSTALL) -D
>+
> ifeq ($(BR2_PACKAGE_PYTHON_PY_ONLY),y)
> find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -exec rm {} \;
> endif
> ifeq ($(BR2_PACKAGE_PYTHON_PYC_ONLY),y)
> find $(TARGET_DIR)/usr/lib/ -name '*.py' -exec rm {} \;
> endif
>+ifneq ($(BR2_PACKAGE_PYTHON_DEV),y)
>+ rm -rf $(TARGET_DIR)/usr/include/python$(PYTHON_VERSION_SHORT)
>+ rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/config
>+ find $(TARGET_DIR)/usr/lib/ -name '*.py' -exec rm {} \;
>+endif
>+ifneq ($(BR2_PACKAGE_PYTHON_BSDDB),y)
>+ rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/bsddb
>+endif
>+ifneq ($(BR2_PACKAGE_PYTHON_CURSES),y)
>+ rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/curses
>+endif
>+ifneq ($(BR2_PACKAGE_PYTHON_TKINTER),y)
>+ rm -rf $(TARGET_DIR)/usr/lib/python$(PYTHON_VERSION_SHORT)/lib-tk
>+endif
>
> python: uclibc $(PYTHON_DEPS) $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)
>
>+python-test:
>+ @echo Version = $(PYTHON_VERSION)
What's that supposed to do? remove this, please.
> python-clean:
> -$(MAKE) -C $(PYTHON_DIR) distclean
> rm $(PYTHON_DIR)/.configured $(TARGET_DIR)/$(PYTHON_TARGET_BINARY)
>Index: Config.in
>===================================================================
>--- Config.in (.../mirror/buildroot/package/python) (revision 3461)
>+++ Config.in (.../beethoven/elara/trunk/buildroot/package/python) (revision 3461)
>@@ -6,6 +6,14 @@
>
> http://www.python.org/
>
>+config BR2_PACKAGE_PYTHON_DEV
>+ depends on BR2_PACKAGE_PYTHON
>+ bool "development files on target"
>+ default n
>+ help
>+ If enabled, development files (headers and static libpython) will be
>+ installed on the target.
It would be saner to have this as one central know like i did for
HAVE_{MAN,INFO}PAGES, fwiw (at least that's what i have in my tree).
regards,
More information about the buildroot
mailing list