python,python3: export mk files outside of python package dirs
authorAlexandru Ardelean <redacted>
Wed, 10 Jan 2018 07:29:41 +0000 (09:29 +0200)
committerAlexandru Ardelean <redacted>
Wed, 10 Jan 2018 21:01:51 +0000 (23:01 +0200)
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 <redacted>
lang/python/python-host.mk [moved from lang/python/python/files/python-host.mk with 90% similarity]
lang/python/python-package-install.sh [moved from lang/python/python/files/python-package-install.sh with 100% similarity]
lang/python/python-package.mk [moved from lang/python/python/files/python-package.mk with 95% similarity]
lang/python/python-version.mk [moved from lang/python/python/files/python-version.mk with 100% similarity]
lang/python/python/Makefile
lang/python/python3-host.mk [moved from lang/python/python3/files/python3-host.mk with 90% similarity]
lang/python/python3-package-install.sh [moved from lang/python/python3/files/python3-package-install.sh with 100% similarity]
lang/python/python3-package.mk [moved from lang/python/python3/files/python3-package.mk with 95% similarity]
lang/python/python3-version.mk [moved from lang/python/python3/files/python3-version.mk with 100% similarity]
lang/python/python3/Makefile

similarity index 90%
rename from lang/python/python/files/python-host.mk
rename to lang/python/python-host.mk
index e836eae71d9b91f12e9cface26f89ffef2357205..d4dc81fa9123908899226bbdeed5e37b82b1a468 100644 (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)
similarity index 95%
rename from lang/python/python/files/python-package.mk
rename to lang/python/python-package.mk
index 9c231f6ecfa0f8c8edc74ab3baa40fd85e4b634f..2bcae919e58f851519f40b60be573d1077aac89c 100644 (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
index 3c7b3bf6ce76908b5dcc704e0c8271a909fed1e1..84415d6bf868e44182b2cd7beccc89efd9d9d983 100644 (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
similarity index 90%
rename from lang/python/python3/files/python3-host.mk
rename to lang/python/python3-host.mk
index 4990d33a014312748a2912a5c2bc5d20c08a69e2..2a418d50430933a8f61ccc47cd09f227ed2b553a 100644 (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)
similarity index 95%
rename from lang/python/python3/files/python3-package.mk
rename to lang/python/python3-package.mk
index 93b14fac23b25ade106bf2ea55ec1a2b0d362278..25d98342aa642ade278633de1137237e4d89cecf 100644 (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
index 6c293ef4d6547d42967981d944d968f7f0b6f11d..dbda239abea34f20ae7174ac92d4ee6fb6365756 100644 (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
git clone https://git.99rst.org/PROJECT