Skip to content

Commit 4f47a5e

Browse files
committed
Adapt from our FROZEN_MPY_DIRS to manifests, incuding preprocessing
1 parent 0326e00 commit 4f47a5e

File tree

3 files changed

+17
-8
lines changed

3 files changed

+17
-8
lines changed

py/builtinhelp.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,12 +79,8 @@ STATIC void mp_help_add_from_names(mp_obj_t list, const char *name) {
7979

8080
// These externs were originally declared inside mp_help_print_modules(),
8181
// but they triggered -Wnested-externs, so they were moved outside.
82-
#if MICROPY_MODULE_FROZEN_STR
83-
extern const char mp_frozen_str_names[];
84-
#endif
85-
86-
#if MICROPY_MODULE_FROZEN_MPY
87-
extern const char mp_frozen_mpy_names[];
82+
#if MICROPY_MODULE_FROZEN
83+
extern const char mp_frozen_names[];
8884
#endif
8985

9086
STATIC void mp_help_print_modules(void) {
@@ -93,7 +89,6 @@ STATIC void mp_help_print_modules(void) {
9389
mp_help_add_from_map(list, &mp_builtin_module_map);
9490

9591
#if MICROPY_MODULE_FROZEN
96-
extern const char mp_frozen_names[];
9792
mp_help_add_from_names(list, mp_frozen_names);
9893
#endif
9994

py/circuitpy_mpconfig.mk

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -489,6 +489,7 @@ CFLAGS += -DLONGINT_IMPL_LONGLONG
489489
else
490490
$(error LONGINT_IMPL set to surprising value: "$(LONGINT_IMPL)")
491491
endif
492+
MPY_TOOL_FLAGS += $(MPY_TOOL_LONGINT_IMPL)
492493

493494
###
494495
ifeq ($(LONGINT_IMPL),NONE)
@@ -497,3 +498,16 @@ else ifeq ($(LONGINT_IMPL),LONGLONG)
497498
else
498499
$(error LONGINT_IMPL set to surprising value: "$(LONGINT_IMPL)")
499500
endif
501+
502+
PREPROCESS_FROZEN_MODULES = PYTHONPATH=$(TOP)/tools/python-semver $(TOP)/tools/preprocess_frozen_modules.py
503+
ifneq ($(FROZEN_MPY_DIRS),)
504+
$(BUILD)/frozen_mpy: $(FROZEN_MPY_DIRS)
505+
$(ECHO) FREEZE $(FROZEN_MPY_DIRS)
506+
$(Q)$(MKDIR) -p $@
507+
$(Q)$(PREPROCESS_FROZEN_MODULES) -o $@ $(FROZEN_MPY_DIRS)
508+
509+
$(BUILD)/manifest.py: $(BUILD)/frozen_mpy | $(TOP)/py/circuitpy_mpconfig.mk mpconfigport.mk boards/$(BOARD)/mpconfigboard.mk
510+
$(ECHO) MKMANIFEST $(FROZEN_MPY_DIRS)
511+
(cd $(BUILD)/frozen_mpy && find * -name \*.py -exec printf 'freeze_as_mpy("frozen_mpy", "%s")\n' {} \; )> $@.tmp && mv -f $@.tmp $@
512+
FROZEN_MANIFEST=$(BUILD)/manifest.py
513+
endif

py/mkrules.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ endif
135135

136136
ifneq ($(FROZEN_MANIFEST),)
137137
# to build frozen_content.c from a manifest
138-
$(BUILD)/frozen_content.c: FORCE $(BUILD)/genhdr/qstrdefs.generated.h | $(MICROPY_MPYCROSS_DEPENDENCY)
138+
$(BUILD)/frozen_content.c: FORCE $(FROZEN_MANIFEST) $(BUILD)/genhdr/qstrdefs.generated.h | $(MICROPY_MPYCROSS_DEPENDENCY) $(TOP)/tools/makemanifest.py
139139
$(Q)$(MAKE_MANIFEST) -o $@ -v "MPY_DIR=$(TOP)" -v "MPY_LIB_DIR=$(MPY_LIB_DIR)" -v "PORT_DIR=$(shell pwd)" -v "BOARD_DIR=$(BOARD_DIR)" -b "$(BUILD)" $(if $(MPY_CROSS_FLAGS),-f"$(MPY_CROSS_FLAGS)",) --mpy-tool-flags="$(MPY_TOOL_FLAGS)" $(FROZEN_MANIFEST)
140140
endif
141141

0 commit comments

Comments
 (0)