diff options
Diffstat (limited to 'make')
-rw-r--r-- | make/python.mk | 52 |
1 files changed, 36 insertions, 16 deletions
diff --git a/make/python.mk b/make/python.mk index 0be3a74a9..e49cc12aa 100644 --- a/make/python.mk +++ b/make/python.mk @@ -3,15 +3,13 @@ # python # ############################################################# -PYTHON_VERSION=2.3.2 -PYTHON_SOURCE:=Python-$(PYTHON_VERSION).tgz +PYTHON_VERSION=2.3.4 +PYTHON_SOURCE:=Python-$(PYTHON_VERSION).tar.bz2 PYTHON_SITE:=http://python.org/ftp/python/$(PYTHON_VERSION) PYTHON_DIR:=$(BUILD_DIR)/Python-$(PYTHON_VERSION) -PYTHON_CAT:=zcat +PYTHON_CAT:=bzcat PYTHON_BINARY:=python -PYTHON_INSTALL_DIR:=$(BUILD_DIR)/python_install -PYTHON_TARGET_BINARY:=$(PYTHON_INSTALL_DIR)/bin/python - +PYTHON_TARGET_BINARY:=usr/bin/python $(DL_DIR)/$(PYTHON_SOURCE): $(WGET) -P $(DL_DIR) $(PYTHON_SITE)/$(PYTHON_SOURCE) @@ -22,36 +20,58 @@ $(PYTHON_DIR)/.unpacked: $(DL_DIR)/$(PYTHON_SOURCE) $(PYTHON_CAT) $(DL_DIR)/$(PYTHON_SOURCE) | tar -C $(BUILD_DIR) -xvf - touch $(PYTHON_DIR)/.unpacked -$(PYTHON_DIR)/.configured: $(PYTHON_DIR)/.unpacked +$(PYTHON_DIR)/.patched: $(PYTHON_DIR)/.unpacked + $(SOURCE_DIR)/patch-kernel.sh $(PYTHON_DIR) $(SOURCE_DIR) python*.patch + touch $(PYTHON_DIR)/.patched + +$(PYTHON_DIR)/.hostpython: $(PYTHON_DIR)/.patched + (cd $(PYTHON_DIR); rm -rf config.cache; \ + OPT="-O1" \ + ./configure \ + --with-cxx=no \ + $(DISABLE_NLS); \ + make python Parser/pygen; \ + mv python hostpython; \ + mv Parser/pgen Parser/hostpgen; \ + make distclean \ + ); + touch $(PYTHON_DIR)/.hostpython + +$(PYTHON_DIR)/.configured: $(PYTHON_DIR)/.hostpython (cd $(PYTHON_DIR); rm -rf config.cache; \ $(TARGET_CONFIGURE_OPTS) \ + OPT="$(TARGET_OPTIMIZATION)" \ ./configure \ --target=$(GNU_TARGET_NAME) \ --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --prefix=/usr \ --sysconfdir=/etc \ + --with-cxx=no \ $(DISABLE_NLS) \ ); - touch $(PYTHON_DIR)/.configured + touch $(PYTHON_DIR)/.configured $(PYTHON_DIR)/$(PYTHON_BINARY): $(PYTHON_DIR)/.configured - LD_LIBRARY_PATH=$(STAGING_DIR)/lib - $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) + $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) DESTDIR=$(TARGET_DIR) \ + HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen $(TARGET_DIR)/$(PYTHON_TARGET_BINARY): $(PYTHON_DIR)/$(PYTHON_BINARY) - -python: uclibc $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) - $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) install - rm $(PYTHON_INSTALL_DIR)/bin/idle - rm $(PYTHON_INSTALL_DIR)/bin/pydoc + LD_LIBRARY_PATH=$(STAGING_DIR)/lib + $(MAKE) CC=$(TARGET_CC) -C $(PYTHON_DIR) install \ + DESTDIR=$(TARGET_DIR) CROSS_COMPILE=yes \ + HOSTPYTHON=./hostpython HOSTPGEN=./Parser/hostpgen + rm $(TARGET_DIR)/usr/bin/idle + rm $(TARGET_DIR)/usr/bin/pydoc + find $(TARGET_DIR)/usr/lib/ -name '*.pyc' -o -name '*.pyo' | xargs rm rm -rf $(TARGET_DIR)/share/locale $(TARGET_DIR)/usr/info \ $(TARGET_DIR)/usr/man $(TARGET_DIR)/usr/share/doc +python: uclibc $(TARGET_DIR)/$(PYTHON_TARGET_BINARY) + python-clean: -$(MAKE) -C $(PYTHON_DIR) distclean rm $(PYTHON_DIR)/.configured python-dirclean: rm -rf $(PYTHON_DIR) - |