micropython/shared/memzip
Damien George 4d546713ec shared: Introduce new top-level dir and move 1st party lib code there.
This commit moves all first-party code developed for this project from lib/
to shared/, so that lib/ now only contains third-party code.

The following directories are moved as-is from lib to shared:

    lib/libc            -> shared/libc
    lib/memzip          -> shared/memzip
    lib/netutils        -> shared/netutils
    lib/timeutils       -> shared/timeutils
    lib/upytesthelper   -> shared/upytesthelper

All files in lib/embed/ have been moved to shared/libc/.

lib/mp-readline has been moved to shared/readline.

lib/utils has been moved to shared/runtime, with the exception of
lib/utils/printf.c which has been moved to shared/libc/printf.c.

Signed-off-by: Damien George <damien@micropython.org>
2021-07-12 17:07:36 +10:00
..
README.md shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
import.c shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
lexermemzip.c shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
make-memzip.py shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
memzip.c shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
memzip.h shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00

README.md

MEMZIP - a simple readonly file system

memzip takes a zip file which is comprised of uncompressed files and and presents it as a filesystem, allowing Python files to be imported.

The script make-memzip.py takes a directory name and will create a zip file containing uncompressed files found in the directory. It will then generate a C file which contains the data from the zip file.

A typical addition to a makefile would look like:

SRC_C += \
    lib/memzip/import.c \
    lib/memzip/lexermemzip.c \
    lib/memzip/memzip.c \

OBJ += $(BUILD)/memzip-files.o

MAKE_MEMZIP = ../lib/memzip/make-memzip.py

$(BUILD)/memzip-files.o: $(BUILD)/memzip-files.c
    $(call compile_c)

$(BUILD)/memzip-files.c: $(shell find ${MEMZIP_DIR} -type f)
    @$(ECHO) "Creating $@"
    $(Q)$(PYTHON) $(MAKE_MEMZIP) --zip-file $(BUILD)/memzip-files.zip --c-file $@ $(MEMZIP_DIR)