summaryrefslogtreecommitdiff
path: root/lang/python/python3
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2017-09-14 17:23:48 +0300
committerGitHub <noreply@github.com>2017-09-14 17:23:48 +0300
commit9330c6c39cea1545ade1e314f237bf1f2db28c79 (patch)
treeb96f55e8ce0b6d8c89489a4cc6ff9e8ae04df9dc /lang/python/python3
parentfd0f3aa9302b905362bf9a2e625cebf2f1f1f677 (diff)
parent2eb3979d28504260ab0d93069f947425b392c302 (diff)
Merge pull request #4830 from commodo/python-updates1
python,python3: build updates
Diffstat (limited to 'lang/python/python3')
-rw-r--r--lang/python/python3/Makefile26
-rw-r--r--lang/python/python3/files/python3-host.mk24
2 files changed, 28 insertions, 22 deletions
diff --git a/lang/python/python3/Makefile b/lang/python/python3/Makefile
index 7dba025e0..d6ba5bf8f 100644
--- a/lang/python/python3/Makefile
+++ b/lang/python/python3/Makefile
@@ -16,7 +16,7 @@ PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
PKG_NAME:=python3
# XXX: reset PKG_RELEASE to 1 only if Python's pip & setuptools versions have also bumped;
# otherwise, keep bumping PKG_RELEASE
-PKG_RELEASE:=5
+PKG_RELEASE:=6
PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
PKG_SOURCE:=Python-$(PKG_VERSION).tar.xz
@@ -184,6 +184,16 @@ define Build/Compile
$(call Build/Compile/python3-pip)
endef
+define Build/InstallMkFiles
+ $(INSTALL_DIR) $(STAGING_DIR)/mk/
+ $(INSTALL_DATA) \
+ ./files/python-package.mk \
+ ./files/python-host.mk \
+ ./files/python-version.mk \
+ ./files/python-package-install.sh \
+ $(STAGING_DIR)/mk/
+endef
+
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include/ $(1)/usr/lib/
$(INSTALL_DIR) $(1)/usr/lib/python$(PYTHON_VERSION)/
@@ -197,6 +207,7 @@ define Build/InstallDev
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/python$(PYTHON_VERSION)/config-$(PYTHON_VERSION) \
$(1)/usr/lib/python$(PYTHON_VERSION)/
+ $(call Build/InstallMkFiles)
endef
PYTHON3_BASE_LIB_FILES:= \
@@ -274,21 +285,10 @@ define Host/Compile
endef
define Host/Install
+ $(call Build/InstallMkFiles)
$(MAKE) -C $(HOST_BUILD_DIR) install
-
$(INSTALL_DIR) $(HOST_PYTHON3_DIR)/bin/ $(STAGING_DIR)/mk/
$(INSTALL_BIN) $(HOST_BUILD_DIR)/Parser/pgen $(HOST_PYTHON3_DIR)/bin/pgen3
-
- # Install these mk files in the Host/Install phase ;
- # The Build/InstallDev rule is activated only for target builds.
- # But if someone needs only the host Python, then
- # these files need to be installed in this phase, and not Build/InstallDev
- $(INSTALL_DATA) \
- ./files/python3-package.mk \
- ./files/python3-host.mk \
- ./files/python3-version.mk \
- ./files/python3-package-install.sh \
- $(STAGING_DIR)/mk/
endef
$(eval $(call HostBuild))
diff --git a/lang/python/python3/files/python3-host.mk b/lang/python/python3/files/python3-host.mk
index 96bbc19cc..4990d33a0 100644
--- a/lang/python/python3/files/python3-host.mk
+++ b/lang/python/python3/files/python3-host.mk
@@ -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) \