diff options
Diffstat (limited to 'package/python/python.mk')
| -rw-r--r-- | package/python/python.mk | 70 | 
1 files changed, 65 insertions, 5 deletions
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  | 
