python: simplify/unify default build rules for python packages
authorAlexandru Ardelean <redacted>
Wed, 4 Jan 2017 09:25:47 +0000 (11:25 +0200)
committerAlexandru Ardelean <redacted>
Wed, 4 Jan 2017 13:08:37 +0000 (15:08 +0200)
Most python packages use the same build rules & vars.
So, adding them in python-package.mk.

Also, preparing for using VARIANTs for python/python3 packages.

Signed-off-by: Alexandru Ardelean <redacted>
lang/python/files/python-host.mk
lang/python/files/python-package.mk

index dc0c0c049968cbabdd3776d69892eb471b250263..7833a0c736ba3d3bb33877bfb91576262d4aa8e0 100644 (file)
@@ -77,4 +77,20 @@ define Build/Compile/HostPyMod
                $(3))
 endef
 
+define HostPy/Compile/Default
+       $(call Build/Compile/HostPyMod,,\
+               install --root="$(HOST_BUILD_PREFIX)" --prefix="" \
+               --single-version-externally-managed \
+       )
+endef
+
+ifeq ($(BUILD_VARIANT),python)
+define Host/Compile
+       $(call HostPy/Compile/Default)
+endef
+
+define Host/Install
+endef
+endif # python
+
 endif # __python_host_mk_inc
index 2a2e371c31e7fbeaf06ede36b9ea27cec96baae9..d0818a64c9381be920dd74228ab2b31f0f8f4507 100644 (file)
@@ -41,6 +41,15 @@ define PyPackage
     endef
   endif
 
+  ifndef PyPackage/$(1)/install
+    define PyPackage/$(1)/install
+               if [ -d $(PKG_INSTALL_DIR)/usr/bin ]; then \
+                       $(INSTALL_DIR) $$(1)/usr/bin \
+                       $(CP) $(PKG_INSTALL_DIR)/usr/bin/* $$(1)/usr/bin/
+               fi
+    endef
+  endif
+
   $(call shexport,PyPackage/$(1)/filespec)
 
   define Package/$(1)/install
@@ -115,21 +124,15 @@ define Build/Compile/PyMod
        find $(PKG_INSTALL_DIR) -name "*\.pyc" -o -name "*\.pyo" -o -name "*\.exe" | xargs rm -f
 endef
 
-define PyMod/Default
-  define Build/Compile
-       $$(call Build/Compile/PyMod,,install --prefix=/usr --root=$(PKG_INSTALL_DIR))
-  endef
-
-  define Package/$(PKG_NAME)/install
-       $(INSTALL_DIR) $$(1)$(PYTHON_PKG_DIR) $$(1)/usr/bin
-       if [ -d $(PKG_INSTALL_DIR)/usr/bin ]; then find $(PKG_INSTALL_DIR)/usr/bin -mindepth 1 -maxdepth 1 -type f -exec $(CP) \{\} $$(1)/usr/bin/ \; ; fi
-       find $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR) -mindepth 1 -maxdepth 1 \( -type f -o -type d \) -exec $(CP) \{\} $$(1)$(PYTHON_PKG_DIR)/ \;
-  endef
-
-  define Build/InstallDev
-       $(INSTALL_DIR) $$(1)/usr/bin $$(1)$(PYTHON_PKG_DIR)
-       if [ -d $(PKG_INSTALL_DIR)/usr/bin ]; then find $(PKG_INSTALL_DIR)/usr/bin -mindepth 1 -maxdepth 1 -type f -exec $(CP) \{\} $$(1)/usr/bin/ \; ; fi
-       find $(PKG_INSTALL_DIR)$(PYTHON_PKG_DIR) -mindepth 1 -maxdepth 1 \( -type f -o -type d \) -exec $(CP) \{\} $$(1)$(PYTHON_PKG_DIR)/ \;
-  endef
+define PyBuild/Compile/Default
+       $(call Build/Compile/PyMod,, \
+               install --prefix="/usr" --root="$(PKG_INSTALL_DIR)" \
+               --single-version-externally-managed \
+       )
 endef
 
+ifeq ($(BUILD_VARIANT),python)
+define Build/Compile
+       $(call PyBuild/Compile/Default)
+endef
+endif # python
git clone https://git.99rst.org/PROJECT