python: unify HostPython and HostHostPython functions
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Fri, 11 Dec 2015 10:01:21 +0000 (12:01 +0200)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Fri, 11 Dec 2015 14:01:27 +0000 (16:01 +0200)
That means basically moving the host Python from $(STAGING_DIR_HOST)
to $(STAGING_DIR_HOST)/usr and making the PYTHONPATH var
as an argument.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
lang/python/Makefile
lang/python/files/python-host.mk
lang/python/files/python-package.mk

index e930eed8d459898f98185bcb9814c6b5b329ba13..0dee2fdfa622b12d66c4897acb60643bef49ef95 100644 (file)
@@ -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)"
index ed0ef4159916c2870e4a9e2f2883efb5bbfd6947..d3b795e018325d2c07ba3fd036d69e7d09f9c8a2 100644 (file)
@@ -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
 
index b4be3a8ee98569b86656561c098a752ee7feb3af..715134d2d1d35630e6df35a64f0f7f3d6cccfb9e 100644 (file)
@@ -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