diff --git a/lang/python/Makefile b/lang/python/Makefile index e930eed8d..0dee2fdfa 100644 --- a/lang/python/Makefile +++ b/lang/python/Makefile @@ -140,13 +140,13 @@ define Build/InstallDev $(PKG_INSTALL_DIR)/usr/include/python$(PYTHON_VERSION) \ $(1)/usr/include/ $(CP) \ - $(STAGING_DIR_HOST)/lib/python$(PYTHON_VERSION) \ + $(STAGING_DIR_HOST)/usr/lib/python$(PYTHON_VERSION) \ $(PKG_INSTALL_DIR)/usr/lib/libpython$(PYTHON_VERSION).so* \ $(1)/usr/lib/ $(CP) \ - $(STAGING_DIR_HOST)/lib/pkgconfig/python.pc \ - $(STAGING_DIR_HOST)/lib/pkgconfig/python2.pc \ - $(STAGING_DIR_HOST)/lib/pkgconfig/python-$(PYTHON_VERSION).pc \ + $(STAGING_DIR_HOST)/usr/lib/pkgconfig/python.pc \ + $(STAGING_DIR_HOST)/usr/lib/pkgconfig/python2.pc \ + $(STAGING_DIR_HOST)/usr/lib/pkgconfig/python-$(PYTHON_VERSION).pc \ $(1)/usr/lib/pkgconfig $(CP) \ $(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/config \ @@ -219,8 +219,8 @@ HOST_CONFIGURE_ARGS+= \ --without-cxx-main \ --without-pymalloc \ --with-threads \ + --prefix=$(STAGING_DIR_HOST)/usr \ --with-system-expat=$(STAGING_DIR_HOST) \ - --prefix=$(STAGING_DIR_HOST) \ --with-ensurepip=upgrade \ CONFIG_SITE= \ CFLAGS="$(HOST_CFLAGS)" diff --git a/lang/python/files/python-host.mk b/lang/python/files/python-host.mk index ed0ef4159..d3b795e01 100644 --- a/lang/python/files/python-host.mk +++ b/lang/python/files/python-host.mk @@ -7,11 +7,14 @@ HOST_PYTHON_INC_DIR:=$(STAGING_DIR_HOST)/include/python$(PYTHON_VERSION) -HOST_PYTHON_PKG_DIR:=/lib/python$(PYTHON_VERSION)/site-packages +HOST_PYTHON_PKG_DIR:=/usr/lib/python$(PYTHON_VERSION)/site-packages HOST_PYTHONPATH:=$(HOST_PYTHON_LIB_DIR):$(STAGING_DIR_HOST)/$(HOST_PYTHON_PKG_DIR) -define HostHostPython - ( export PYTHONPATH="$(HOST_PYTHONPATH)"; \ +define HostPython + ifeq ($(3),) + $(3):=$(PYTHONPATH) + endif + ( export PYTHONPATH="$(3)"; \ export PYTHONOPTIMIZE=""; \ export PYTHONDONTWRITEBYTECODE=1; \ export _python_sysroot="$(STAGING_DIR_HOST)"; \ @@ -25,15 +28,15 @@ endef # These configure args are needed in detection of path to Python header files # using autotools. HOST_CONFIGURE_ARGS += \ - _python_sysroot="$(STAGING_DIR_HOST)" \ - _python_prefix="" \ - _python_exec_prefix="" + _python_sysroot="$(STAGING_DIR_HOST)/usr" \ + _python_prefix="/usr" \ + _python_exec_prefix="/usr" # $(1) => build subdir # $(2) => additional arguments to setup.py # $(3) => additional variables define Build/Compile/HostPyMod - $(call HostHostPython, \ + $(call HostPython, \ cd $(HOST_BUILD_DIR)/$(strip $(1)); \ CC="$(HOSTCC)" \ CCSHARED="$(HOSTCC) $(HOST_FPIC)" \ @@ -48,6 +51,8 @@ define Build/Compile/HostPyMod $(3) \ , \ ./setup.py $(2) \ + , \ + $(HOST_PYTHONPATH) \ ) endef diff --git a/lang/python/files/python-package.mk b/lang/python/files/python-package.mk index b4be3a8ee..715134d2d 100644 --- a/lang/python/files/python-package.mk +++ b/lang/python/files/python-package.mk @@ -17,21 +17,10 @@ PYTHON_PKG_DIR:=/usr/lib/python$(PYTHON_VERSION)/site-packages PYTHON:=python$(PYTHON_VERSION) -HOST_PYTHON_LIB_DIR:=$(STAGING_DIR_HOST)/lib/python$(PYTHON_VERSION) +HOST_PYTHON_LIB_DIR:=$(STAGING_DIR_HOST)/usr/lib/python$(PYTHON_VERSION) HOST_PYTHON_BIN:=$(STAGING_DIR_HOST)/bin/python2 PYTHONPATH:=$(PYTHON_LIB_DIR):$(STAGING_DIR)/$(PYTHON_PKG_DIR):$(PKG_INSTALL_DIR)/$(PYTHON_PKG_DIR) -define HostPython - ( export PYTHONPATH="$(PYTHONPATH)"; \ - export PYTHONOPTIMIZE=""; \ - export PYTHONDONTWRITEBYTECODE=1; \ - export _python_sysroot="$(STAGING_DIR)"; \ - export _python_prefix="/usr"; \ - export _python_exec_prefix="/usr"; \ - $(1) \ - $(HOST_PYTHON_BIN) $(2); \ - ) -endef # These configure args are needed in detection of path to Python header files # using autotools. @@ -94,6 +83,8 @@ define PyPackage endef endef +$(call include_mk, python-host.mk) + # $(1) => build subdir # $(2) => additional arguments to setup.py # $(3) => additional variables @@ -114,6 +105,8 @@ define Build/Compile/PyMod $(3) \ , \ ./setup.py $(2) \ + , \ + $(PYTHONPATH) \ ) find $(PKG_INSTALL_DIR) -name "*\.pyc" -o -name "*\.pyo" | xargs rm -f endef