package/pkg-python.mk: replace $(_BASE_ENV) with $($(SETUP_TYPE)_ENV)
The _BASE_ENV variable is set based on the setup type, and only based on the setup type. Because of this, we have a large conditional tree in inner-python-package which makes things hard to read. Rather than conditions, it's also possible to use indirect variables. Concretely, we can use $(PKG_PYTHON_$($(PKG)_SETUP_TYPE)_ENV) instead of $($(PKG)_BASE_ENV) to dispatch to the right ENV variable. Once we do the same for all other variables that are set in the condition tree, we'll be able to remove the condition tree entirely. Because $($(PKG)_SETUP_TYPE) is lowercase (e.g. 'setuptools' or 'pep517'), while the existing _ENV variables have uppercase names (e.g. PKG_PYTHON_SETUPTOOLS_ENV), we need to convert the setup type to uppercase. Introduce the variable $(PKG)_SETUP_TYPE_UPPER for this. flit was reusing the _BASE_ENV definition from pep517, and flit-bootstrap also didn't have its own _ENV definition yet, so those have to be added. Signed-off-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
parent
aae25fb55e
commit
9e447e8b2f
@ -158,6 +158,18 @@ HOST_PKG_PYTHON_PEP517_INSTALL_OPTS = \
|
||||
HOST_PKG_PYTHON_PEP517_BOOTSTRAP_INSTALL_OPTS = \
|
||||
--installdir=$(HOST_DIR)/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages
|
||||
|
||||
# Target flit packages
|
||||
PKG_PYTHON_FLIT_ENV = \
|
||||
$(PKG_PYTHON_PEP517_ENV)
|
||||
|
||||
# Host flit packages
|
||||
HOST_PKG_PYTHON_FLIT_ENV = \
|
||||
$(HOST_PKG_PYTHON_PEP517_ENV)
|
||||
|
||||
# Host flit-bootstrap packages
|
||||
HOST_PKG_PYTHON_FLIT_BOOTSTRAP_ENV = \
|
||||
$(HOST_PKG_PYTHON_PEP517_ENV)
|
||||
|
||||
# Target maturin packages
|
||||
PKG_PYTHON_MATURIN_ENV = \
|
||||
$(PKG_PYTHON_PEP517_ENV) \
|
||||
@ -194,54 +206,34 @@ ifndef $(2)_SETUP_TYPE
|
||||
endif
|
||||
endif
|
||||
|
||||
$(2)_SETUP_TYPE_UPPER = $$(call UPPERCASE,$$($(2)_SETUP_TYPE))
|
||||
|
||||
# Distutils
|
||||
ifeq ($$($(2)_SETUP_TYPE),distutils)
|
||||
ifeq ($(4),target)
|
||||
$(2)_BASE_ENV = $$(PKG_PYTHON_DISTUTILS_ENV)
|
||||
$(2)_BASE_BUILD_CMD = setup.py build $$(PKG_PYTHON_DISTUTILS_BUILD_OPTS)
|
||||
$(2)_BASE_INSTALL_TARGET_CMD = setup.py install --no-compile $$(PKG_PYTHON_DISTUTILS_INSTALL_TARGET_OPTS)
|
||||
$(2)_BASE_INSTALL_STAGING_CMD = setup.py install $$(PKG_PYTHON_DISTUTILS_INSTALL_STAGING_OPTS)
|
||||
else
|
||||
$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_DISTUTILS_ENV)
|
||||
$(2)_BASE_BUILD_CMD = setup.py build
|
||||
$(2)_BASE_INSTALL_CMD = setup.py install $$(HOST_PKG_PYTHON_DISTUTILS_INSTALL_OPTS)
|
||||
endif
|
||||
# Setuptools
|
||||
else ifneq ($$(filter setuptools setuptools-rust,$$($(2)_SETUP_TYPE)),)
|
||||
ifeq ($(4),target)
|
||||
ifeq ($$($(2)_SETUP_TYPE),setuptools-rust)
|
||||
$(2)_BASE_ENV = $$(PKG_PYTHON_SETUPTOOLS_RUST_ENV)
|
||||
else
|
||||
$(2)_BASE_ENV = $$(PKG_PYTHON_SETUPTOOLS_ENV)
|
||||
endif
|
||||
$(2)_BASE_BUILD_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) build
|
||||
$(2)_BASE_INSTALL_TARGET_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install --no-compile $$(PKG_PYTHON_SETUPTOOLS_INSTALL_TARGET_OPTS)
|
||||
$(2)_BASE_INSTALL_STAGING_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install $$(PKG_PYTHON_SETUPTOOLS_INSTALL_STAGING_OPTS)
|
||||
else
|
||||
ifeq ($$($(2)_SETUP_TYPE),setuptools-rust)
|
||||
$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_SETUPTOOLS_RUST_ENV)
|
||||
else
|
||||
$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_SETUPTOOLS_ENV)
|
||||
endif
|
||||
$(2)_BASE_BUILD_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) build
|
||||
$(2)_BASE_INSTALL_CMD = $$(PKG_PYTHON_SETUPTOOLS_CMD) install $$(HOST_PKG_PYTHON_SETUPTOOLS_INSTALL_OPTS)
|
||||
endif
|
||||
else ifneq ($$(filter flit maturin pep517,$$($(2)_SETUP_TYPE)),)
|
||||
ifeq ($(4),target)
|
||||
ifeq ($$($(2)_SETUP_TYPE),maturin)
|
||||
$(2)_BASE_ENV = $$(PKG_PYTHON_MATURIN_ENV)
|
||||
else
|
||||
$(2)_BASE_ENV = $$(PKG_PYTHON_PEP517_ENV)
|
||||
endif
|
||||
$(2)_BASE_BUILD_CMD = -m build -n -w
|
||||
$(2)_BASE_INSTALL_TARGET_CMD = $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(PKG_PYTHON_PEP517_INSTALL_TARGET_OPTS)
|
||||
$(2)_BASE_INSTALL_STAGING_CMD = $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(PKG_PYTHON_PEP517_INSTALL_STAGING_OPTS)
|
||||
else
|
||||
ifeq ($$($(2)_SETUP_TYPE),maturin)
|
||||
$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_MATURIN_ENV)
|
||||
else
|
||||
$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_PEP517_ENV)
|
||||
endif
|
||||
$(2)_BASE_BUILD_CMD = -m build -n -w
|
||||
$(2)_BASE_INSTALL_CMD = $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(HOST_PKG_PYTHON_PEP517_INSTALL_OPTS)
|
||||
endif
|
||||
@ -249,7 +241,6 @@ else ifeq ($$($(2)_SETUP_TYPE),flit-bootstrap)
|
||||
ifeq ($(4),target)
|
||||
$$(error flit-bootstrap setup type only supported for host packages)
|
||||
else
|
||||
$(2)_BASE_ENV = $$(HOST_PKG_PYTHON_PEP517_ENV)
|
||||
$(2)_BASE_BUILD_CMD = -m flit_core.wheel
|
||||
$(2)_BASE_INSTALL_CMD ?= $(TOPDIR)/support/scripts/pyinstaller.py dist/* $$(HOST_PKG_PYTHON_PEP517_INSTALL_OPTS)
|
||||
endif
|
||||
@ -332,7 +323,8 @@ ifeq ($(4),target)
|
||||
ifndef $(2)_BUILD_CMDS
|
||||
define $(2)_BUILD_CMDS
|
||||
(cd $$($$(PKG)_BUILDDIR)/; \
|
||||
$$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \
|
||||
$$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \
|
||||
$$($$(PKG)_ENV) \
|
||||
$$(HOST_DIR)/bin/python3 \
|
||||
$$($$(PKG)_BASE_BUILD_CMD) \
|
||||
$$($$(PKG)_BUILD_OPTS))
|
||||
@ -346,7 +338,8 @@ endif
|
||||
ifndef $(2)_INSTALL_TARGET_CMDS
|
||||
define $(2)_INSTALL_TARGET_CMDS
|
||||
(cd $$($$(PKG)_BUILDDIR)/; \
|
||||
$$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \
|
||||
$$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \
|
||||
$$($$(PKG)_ENV) \
|
||||
$$(HOST_DIR)/bin/python3 \
|
||||
$$($$(PKG)_BASE_INSTALL_TARGET_CMD) \
|
||||
$$($$(PKG)_INSTALL_TARGET_OPTS))
|
||||
@ -360,7 +353,8 @@ endif
|
||||
ifndef $(2)_INSTALL_STAGING_CMDS
|
||||
define $(2)_INSTALL_STAGING_CMDS
|
||||
(cd $$($$(PKG)_BUILDDIR)/; \
|
||||
$$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \
|
||||
$$(PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \
|
||||
$$($$(PKG)_ENV) \
|
||||
$$(HOST_DIR)/bin/python3 \
|
||||
$$($$(PKG)_BASE_INSTALL_STAGING_CMD) \
|
||||
$$($$(PKG)_INSTALL_STAGING_OPTS))
|
||||
@ -376,7 +370,8 @@ else # host
|
||||
ifndef $(2)_BUILD_CMDS
|
||||
define $(2)_BUILD_CMDS
|
||||
(cd $$($$(PKG)_BUILDDIR)/; \
|
||||
$$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \
|
||||
$$(HOST_PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \
|
||||
$$($$(PKG)_ENV) \
|
||||
$$(HOST_DIR)/bin/python3 \
|
||||
$$($$(PKG)_BASE_BUILD_CMD) \
|
||||
$$($$(PKG)_BUILD_OPTS))
|
||||
@ -390,7 +385,8 @@ endif
|
||||
ifndef $(2)_INSTALL_CMDS
|
||||
define $(2)_INSTALL_CMDS
|
||||
(cd $$($$(PKG)_BUILDDIR)/; \
|
||||
$$($$(PKG)_BASE_ENV) $$($$(PKG)_ENV) \
|
||||
$$(HOST_PKG_PYTHON_$$($$(PKG)_SETUP_TYPE_UPPER)_ENV) \
|
||||
$$($$(PKG)_ENV) \
|
||||
$$(HOST_DIR)/bin/python3 \
|
||||
$$($$(PKG)_BASE_INSTALL_CMD) \
|
||||
$$($$(PKG)_INSTALL_OPTS))
|
||||
|
Loading…
Reference in New Issue
Block a user