diff options
Diffstat (limited to 'package/python3/python3.mk')
-rw-r--r-- | package/python3/python3.mk | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/package/python3/python3.mk b/package/python3/python3.mk index 3089c03b7b..8459b113e3 100644 --- a/package/python3/python3.mk +++ b/package/python3/python3.mk @@ -78,10 +78,6 @@ ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY),y) PYTHON3_CONF_OPTS += --enable-old-stdlib-cache endif -ifeq ($(BR2_PACKAGE_PYTHON3_PY_ONLY),y) -PYTHON3_CONF_OPTS += --disable-pyc-build -endif - ifeq ($(BR2_PACKAGE_PYTHON3_SQLITE),y) PYTHON3_DEPENDENCIES += sqlite else @@ -135,7 +131,8 @@ PYTHON3_CONF_OPTS += \ --disable-lib2to3 \ --disable-tk \ --disable-nis \ - --disable-idle3 + --disable-idle3 \ + --disable-pyc-build # Python builds two tools to generate code: 'pgen' and # '_freeze_importlib'. Unfortunately, for the target Python, they are @@ -212,6 +209,17 @@ PYTHON3_PATH = $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/sysconfigdat $(eval $(autotools-package)) $(eval $(host-autotools-package)) +define PYTHON3_CREATE_PYC_FILES + PYTHONPATH="$(PYTHON3_PATH)" \ + $(HOST_DIR)/usr/bin/python$(PYTHON3_VERSION_MAJOR) \ + support/scripts/pycompile.py \ + $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) +endef + +ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY)$(BR2_PACKAGE_PYTHON3_PY_PYC),y) +TARGET_FINALIZE_HOOKS += PYTHON3_CREATE_PYC_FILES +endif + ifeq ($(BR2_PACKAGE_PYTHON3_PYC_ONLY),y) define PYTHON3_REMOVE_PY_FILES find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.py' -print0 | \ @@ -220,6 +228,8 @@ endef TARGET_FINALIZE_HOOKS += PYTHON3_REMOVE_PY_FILES endif +# Normally, *.pyc files should not have been compiled, but just in +# case, we make sure we remove all of them. ifeq ($(BR2_PACKAGE_PYTHON3_PY_ONLY),y) define PYTHON3_REMOVE_PYC_FILES find $(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR) -name '*.pyc' -print0 | \ |