python,python3: add host-flags/settings to host pip install rules
authorAlexandru Ardelean <ardeleanalex@gmail.com>
Sun, 13 Aug 2017 19:06:08 +0000 (22:06 +0300)
committerAlexandru Ardelean <ardeleanalex@gmail.com>
Thu, 14 Sep 2017 08:44:01 +0000 (11:44 +0300)
The host pip install should have the host's CFLAGS, LDFLAGS, etc
available.
And not the target's flags.
Otherwise, weird things can happen when installing
packages (host-side) that need to build C code.

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

index f20dbdeabded81dabe2d79a71f761fda568b9b2a..e836eae71d9b91f12e9cface26f89ffef2357205 100644 (file)
@@ -37,21 +37,26 @@ define HostPython
        $(HOST_PYTHON_BIN) $(2);
 endef
 
+define host_python_settings
+       ARCH="$(HOST_ARCH)" \
+       CC="$(HOSTCC)" \
+       CCSHARED="$(HOSTCC) $(HOST_FPIC)" \
+       CXX="$(HOSTCXX)" \
+       LD="$(HOSTCC)" \
+       LDSHARED="$(HOSTCC) -shared" \
+       CFLAGS="$(HOST_CFLAGS)" \
+       CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON_INC_DIR)" \
+       LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON_VERSION) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib" \
+       _PYTHON_HOST_PLATFORM=linux2
+endef
+
 # $(1) => commands to execute before running pythons script
 # $(2) => python script and its arguments
 # $(3) => additional variables
 define Build/Compile/HostPyRunHost
        $(call HostPython, \
                $(if $(1),$(1);) \
-               CC="$(HOSTCC)" \
-               CCSHARED="$(HOSTCC) $(HOST_FPIC)" \
-               CXX="$(HOSTCXX)" \
-               LD="$(HOSTCC)" \
-               LDSHARED="$(HOSTCC) -shared" \
-               CFLAGS="$(HOST_CFLAGS)" \
-               CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON_INC_DIR)" \
-               LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON_VERSION) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib" \
-               _PYTHON_HOST_PLATFORM=linux2 \
+               $(call host_python_settings) \
                $(3) \
                , \
                $(2) \
@@ -63,6 +68,7 @@ endef
 # Note: I shamelessly copied this from Yousong's logic (from python-packages);
 HOST_PYTHON_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON_VERSION)
 define host_python_pip_install
+       $(call host_python_settings) \
        $(HOST_PYTHON_PIP) install \
                --root=$(1) \
                --prefix=$(2) \
index 96bbc19ccca7477d154896edebdc1891cad13b45..4990d33a014312748a2912a5c2bc5d20c08a69e2 100644 (file)
@@ -37,21 +37,26 @@ define HostPython3
        $(HOST_PYTHON3_BIN) $(2);
 endef
 
+define host_python3_settings
+       ARCH="$(HOST_ARCH)" \
+       CC="$(HOSTCC)" \
+       CCSHARED="$(HOSTCC) $(HOST_FPIC)" \
+       CXX="$(HOSTCXX)" \
+       LD="$(HOSTCC)" \
+       LDSHARED="$(HOSTCC) -shared" \
+       CFLAGS="$(HOST_CFLAGS)" \
+       CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON3_INC_DIR)" \
+       LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib" \
+       _PYTHON_HOST_PLATFORM=linux2
+endef
+
 # $(1) => commands to execute before running pythons script
 # $(2) => python script and its arguments
 # $(3) => additional variables
 define Build/Compile/HostPy3RunHost
        $(call HostPython3, \
                $(if $(1),$(1);) \
-               CC="$(HOSTCC)" \
-               CCSHARED="$(HOSTCC) $(HOST_FPIC)" \
-               CXX="$(HOSTCXX)" \
-               LD="$(HOSTCC)" \
-               LDSHARED="$(HOSTCC) -shared" \
-               CFLAGS="$(HOST_CFLAGS)" \
-               CPPFLAGS="$(HOST_CPPFLAGS) -I$(HOST_PYTHON3_INC_DIR)" \
-               LDFLAGS="$(HOST_LDFLAGS) -lpython$(PYTHON3_VERSION) -Wl$(comma)-rpath=$(STAGING_DIR_HOSTPKG)/lib" \
-               _PYTHON_HOST_PLATFORM=linux2 \
+               $(call host_python3_settings) \
                $(3) \
                , \
                $(2) \
@@ -63,6 +68,7 @@ endef
 # Note: I shamelessly copied this from Yousong's logic (from python-packages);
 HOST_PYTHON3_PIP:=$(STAGING_DIR_HOSTPKG)/bin/pip$(PYTHON3_VERSION)
 define host_python3_pip_install
+       $(call host_python3_settings) \
        $(HOST_PYTHON3_PIP) install \
                --root=$(1) \
                --prefix=$(2) \