From c345534783f0977a57b77c7739ad0093b0d3e247 Mon Sep 17 00:00:00 2001 From: Ivan Kuten Date: Thu, 17 Jan 2008 12:42:53 +0000 Subject: enhancements for the python package, patch by Hamish Moffatt --- package/python/python.mk | 70 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 65 insertions(+), 5 deletions(-) (limited to 'package/python/python.mk') diff --git a/package/python/python.mk b/package/python/python.mk index a0eff5c0c..9f7e1b885 100644 --- a/package/python/python.mk +++ b/package/python/python.mk @@ -10,10 +10,61 @@ PYTHON_DIR:=$(BUILD_DIR)/Python-$(PYTHON_VERSION) PYTHON_CAT:=$(BZCAT) PYTHON_BINARY:=python PYTHON_TARGET_BINARY:=usr/bin/python +PYTHON_DEPS:= -# these could use checks for some BR2_PACKAGE_foo,y -BR2_PYTHON_DISABLED_MODULES=readline pyexpat dbm gdbm bsddb \ - _curses _curses_panel _tkinter nis zipfile +BR2_PYTHON_DISABLED_MODULES=dbm zipfile + +ifeq ($(BR2_PACKAGE_PYTHON_READLINE),y) +PYTHON_DEPS += readline-target +else +BR2_PYTHON_DISABLED_MODULES += readline +endif + +ifeq ($(BR2_PACKAGE_PYTHON_CURSES),y) +PYTHON_DEPS += ncurses +else +BR2_PYTHON_DISABLED_MODULES += _curses _curses_panel +endif + +ifeq ($(BR2_PACKAGE_PYTHON_PYEXPAT),y) +PYTHON_DEPS += expat +else +BR2_PYTHON_DISABLED_MODULES += pyexpat +endif + +ifeq ($(BR2_PACKAGE_PYTHON_GDBM),y) +PYTHON_DEPS += gdbm +else +BR2_PYTHON_DISABLED_MODULES += gdbm +endif + +ifeq ($(BR2_PACKAGE_PYTHON_BSDDB),y) +PYTHON_DEPS += berkeleydb +else +BR2_PYTHON_DISABLED_MODULES += bsddb +endif + +ifeq ($(BR2_PACKAGE_PYTHON_TKINTER),y) +PYTHON_DEPS += tcl +else +BR2_PYTHON_DISABLED_MODULES += _tkinter +endif + +ifeq ($(BR2_PACKAGE_PYTHON_SSL),y) +PYTHON_DEPS += openssl +endif + +ifneq ($(BR2_PACKAGE_PYTHON_NIS),y) +BR2_PYTHON_DISABLED_MODULES += nis +endif + +ifneq ($(BR2_PACKAGE_PYTHON_CODECSCJK),y) +BR2_PYTHON_DISABLED_MODULES += _codecs_kr _codecs_jp _codecs_cn _codecs_tw _codecs_hk +endif + +ifneq ($(BR2_PACKAGE_PYTHON_UNICODEDATA),y) +BR2_PYTHON_DISABLED_MODULES += unicodedata +endif $(DL_DIR)/$(PYTHON_SOURCE): $(WGET) -P $(DL_DIR) $(PYTHON_SITE)/$(PYTHON_SOURCE) @@ -59,7 +110,9 @@ $(PYTHON_DIR)/.configured: $(PYTHON_DIR)/.hostpython touch $@ $(PYTHON_DIR)/$(PYTHON_BINARY): $(PYTHON_DIR)/.configured +ifneq ($(BR2_PACKAGE_PYTHON_SSL),y) export PYTHON_DISABLE_SSL=1 +endif $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) DESTDIR=$(TARGET_DIR) \ PYTHON_MODULES_INCLUDE=$(STAGING_DIR)/usr/include \ PYTHON_MODULES_LIB=$(STAGING_DIR)/lib \ @@ -67,7 +120,9 @@ $(PYTHON_DIR)/$(PYTHON_BINARY): $(PYTHON_DIR)/.configured HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen $(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) +ifneq ($(BR2_PACKAGE_PYTHON_SSL),y) export PYTHON_DISABLE_SSL=1 +endif LD_LIBRARY_PATH=$(STAGING_DIR)/lib $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) install \ DESTDIR=$(TARGET_DIR) CROSS_COMPILE=yes \ @@ -78,13 +133,18 @@ $(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) rm $(TARGET_DIR)/usr/bin/python?.? && \ rm $(TARGET_DIR)/usr/bin/idle && \ rm $(TARGET_DIR)/usr/bin/pydoc && \ - find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -exec rm {} \; && \ 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 +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 -python: uclibc $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) +python: uclibc $(PYTHON_DEPS) $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) python-clean: -$(MAKE) -C $(PYTHON_DIR) distclean -- cgit v1.2.3