python,python3: export mk files outside of python package dirs

Since `lang/python` is it's own folder of Python packages
(for both Python 2 & 3), and these build rules are needed
in a lot of packages [especially Python packages],
putting them here makes sense architecturally,
to be shared.

This also helps get rid of the `include_mk` construct
which relies on OpenWrt core to provide, and seems
like a broken design idea that has persisted for a while.
Reason is: it requires that Python 2/3 be built to provide
these mk files for other Python packages,
which seems like a bad idea.

Long-term, there could be an issue where some other feeds
would require these mk files [e.g. telephony] for
some Python packages.
We'll see how we handle this a bit later.

For now we limit this to this feed.

Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
This commit is contained in:
Alexandru Ardelean 2018-01-10 09:29:41 +02:00
parent 55c0b5ae19
commit ccdc6bc530
10 changed files with 23 additions and 14 deletions

View File

@ -5,11 +5,15 @@
# See /LICENSE for more information.
#
# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
# if `python-package.mk` is included, this will already be included
ifneq ($(__python_host_mk_inc),1)
__python_host_mk_inc=1
# For PYTHON_VERSION
$(call include_mk, python-version.mk)
python_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
include $(python_mk_path)python-version.mk
HOST_PYTHON_DIR:=$(STAGING_DIR_HOSTPKG)
HOST_PYTHON_INC_DIR:=$(HOST_PYTHON_DIR)/include/python$(PYTHON_VERSION)

View File

@ -5,7 +5,10 @@
# See /LICENSE for more information.
#
$(call include_mk, python-version.mk)
# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
python_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
include $(python_mk_path)python-host.mk
PYTHON_DIR:=$(STAGING_DIR)/usr
PYTHON_BIN_DIR:=$(PYTHON_DIR)/bin
@ -89,8 +92,6 @@ define PyPackage
endif # Package/$(1)/install
endef
$(call include_mk, python-host.mk)
# $(1) => commands to execute before running pythons script
# $(2) => python script and its arguments
# $(3) => additional variables

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
# For PYTHON_VERSION
include ./files/python-version.mk
include ../python-version.mk
PKG_NAME:=python
PKG_VERSION:=$(PYTHON_VERSION).$(PYTHON_VERSION_MICRO)
@ -22,10 +22,10 @@ PKG_LICENSE:=PSF
PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE
# This file provides the necsessary host build variables
include ./files/python-host.mk
include ../python-host.mk
# For PyPackage
include ./files/python-package.mk
include ../python-package.mk
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1

View File

@ -5,11 +5,15 @@
# See /LICENSE for more information.
#
# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
# if `python3-package.mk` is included, this will already be included
ifneq ($(__python3_host_mk_inc),1)
__python3_host_mk_inc=1
# For PYTHON3_VERSION
$(call include_mk, python3-version.mk)
python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
include $(python3_mk_path)python3-version.mk
HOST_PYTHON3_DIR:=$(STAGING_DIR_HOSTPKG)
HOST_PYTHON3_INC_DIR:=$(HOST_PYTHON3_DIR)/include/python$(PYTHON3_VERSION)

View File

@ -5,7 +5,9 @@
# See /LICENSE for more information.
#
$(call include_mk, python3-version.mk)
# Note: include this after `include $(TOPDIR)/rules.mk in your package Makefile
python3_mk_path:=$(dir $(lastword $(MAKEFILE_LIST)))
include $(python3_mk_path)python3-host.mk
PYTHON3_DIR:=$(STAGING_DIR)/usr
PYTHON3_BIN_DIR:=$(PYTHON3_DIR)/bin
@ -89,8 +91,6 @@ define Py3Package
endif # Package/$(1)/install
endef
$(call include_mk, python3-host.mk)
# $(1) => commands to execute before running pythons script
# $(2) => python script and its arguments
# $(3) => additional variables

View File

@ -8,7 +8,7 @@
include $(TOPDIR)/rules.mk
# The file included below defines PYTHON_VERSION
include ./files/python3-version.mk
include ../python3-version.mk
PYTHON_VERSION:=$(PYTHON3_VERSION)
PYTHON_VERSION_MICRO:=$(PYTHON3_VERSION_MICRO)
@ -25,10 +25,10 @@ PKG_LICENSE:=PSF
PKG_LICENSE_FILES:=LICENSE Modules/_ctypes/libffi_msvc/LICENSE Modules/_ctypes/darwin/LICENSE Modules/_ctypes/libffi/LICENSE Modules/_ctypes/libffi_osx/LICENSE Tools/pybench/LICENSE
# This file provides the necsessary host build variables
include ./files/python3-host.mk
include ../python3-host.mk
# For Py3Package
include ./files/python3-package.mk
include ../python3-package.mk
PKG_FIXUP:=autoreconf
PKG_INSTALL:=1