Skip to content

Commit

Permalink
wheel.mk: Define system, cross vs default (native) pip
Browse files Browse the repository at this point in the history
  • Loading branch information
th0ma7 committed Nov 18, 2021
1 parent db25ed1 commit 7b6bd12
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
15 changes: 11 additions & 4 deletions mk/spksrc.common.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,22 @@ MSG = echo "===> "
# Launch command in the working dir of the package source and the right environment
RUN = cd $(WORK_DIR)/$(PKG_DIR) && env $(ENV)

# Pip command
# fallback by default to native/python*
PIP ?= pip

# Cross compiling must call "pip" directly to ensure using
# $(WORK_DIR)/crossenv pip version instead from adjusted $PATH
PIP_CROSS = $(shell . $(CROSSENV) && $(RUN) which pip)

# System default pip outside from build environment
PIP_SYSTEM = $(shell which pip)

# Why ask for the same thing twice? Always cache downloads
PIP_CACHE_OPT ?= --cache-dir $(PIP_DIR) --find-links $(BASE_DISTRIB_DIR)

# Define default wheel & download pip options
PIP_WHEEL_ARGS = wheel --no-binary :all: $(PIP_CACHE_OPT) --no-deps --wheel-dir $(WHEELHOUSE)
PIP_WHEEL = $(PIP) $(PIP_WHEEL_ARGS)
# Allow pre-downloading wheel sources
PIP_DOWNLOAD_ARGS = download --no-binary :all: $(PIP_CACHE_OPT) --dest $(BASE_DISTRIB_DIR) --no-build-isolation
PIP_DOWNLOAD = $(PIP) $(PIP_DOWNLOAD_ARGS)

# Available languages
LANGUAGES = chs cht csy dan enu fre ger hun ita jpn krn nld nor plk ptb ptg rus spn sve trk
Expand Down
8 changes: 4 additions & 4 deletions mk/spksrc.wheel.mk
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ download_wheel:
do \
if [ -f $$wheel ] ; then \
$(MSG) "Downloading wheels from $$wheel ..." ; \
xargs -n 1 $(PIP_DOWNLOAD) 2>/dev/null < $$wheel || true ; \
xargs -n 1 $(PIP_SYSTEM) $(PIP_DOWNLOAD_ARGS) 2>/dev/null < $$wheel || true ; \
fi ; \
done \
fi
Expand Down Expand Up @@ -84,15 +84,15 @@ build_wheel_target: $(PRE_WHEEL_TARGET)
if [ -f "$(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE)" ]; then \
$(MSG) "Force cross-compile" ; \
if [ -z "$(CROSSENV)" ]; then \
$(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_WHEEL) --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \
$(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP) $(PIP_WHEEL_ARGS) --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \
else \
. $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" pip $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \
. $(CROSSENV) && $(RUN) _PYTHON_HOST_PLATFORM="$(TC_TARGET)" CFLAGS="$(CFLAGS) -I$(STAGING_INSTALL_PREFIX)/$(PYTHON_INC_DIR) $(WHEELS_CFLAGS)" LDFLAGS="$(LDFLAGS) $(WHEELS_LDFLAGS)" $(PIP_CROSS) $(PIP_WHEEL_ARGS) --no-build-isolation --requirement $(WHEELHOUSE)/$(WHEELS_CROSS_COMPILE) ; \
fi ; \
fi ; \
if [ -f "$(WHEELHOUSE)/$(WHEELS_PURE_PYTHON)" ]; then \
$(MSG) "Force pure-python" ; \
export LD= LDSHARED= CPP= NM= CC= AS= RANLIB= CXX= AR= STRIP= OBJDUMP= READELF= CFLAGS= CPPFLAGS= CXXFLAGS= LDFLAGS= && \
$(RUN) $(PIP_WHEEL) --requirement $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \
$(RUN) $(PIP) $(PIP_WHEEL_ARGS) --requirement $(WHEELHOUSE)/$(WHEELS_PURE_PYTHON) ; \
fi ; \
fi

Expand Down

0 comments on commit 7b6bd12

Please sign in to comment.