From 6e06512e0ff47b8022d478fd4ff3f85b96a980a0 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Mon, 11 Sep 2017 00:33:39 +0300 Subject: [PATCH] README: Update "Dependencies" section. Given that various ports now require submodules, rewrite the section to be more generic. Also, add git submodule update command to other sections for easy user start. --- README.md | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index ff609dba32..13529ff4f3 100644 --- a/README.md +++ b/README.md @@ -72,6 +72,7 @@ Alternatively, fallback implementation based on setjmp/longjmp can be used. To build (see section below for required dependencies): + $ git submodule update --init $ cd ports/unix $ make axtls $ make @@ -104,32 +105,36 @@ Standard library modules come from External dependencies --------------------- -Building Unix version requires some dependencies installed. For +Building MicroPython ports may require some dependencies installed. + +For Unix port, `libffi` library and `pkg-config` tool are required. On Debian/Ubuntu/Mint derivative Linux distros, install `build-essential` (includes toolchain and make), `libffi-dev`, and `pkg-config` packages. -Other dependencies can be built together with MicroPython. Oftentimes, -you need to do this to enable extra features or capabilities. To build +Other dependencies can be built together with MicroPython. This may +be required to enable extra features or capabilities, and in recent +versions of MicroPython, these may be enabled by default. To build these additional dependencies, first fetch git submodules for them: $ git submodule update --init -Use this same command to get the latest versions of dependencies, as -they are updated from time to time. After that, in `ports/unix/` dir, execute: +Use the same command to get the latest versions of dependencies, as +they are updated from time to time. After that, in the port directory +(e.g. `ports/unix/`), execute: $ make deplibs This will build all available dependencies (regardless whether they are used or not). If you intend to build MicroPython with additional options (like cross-compiling), the same set of options should be passed -to `make deplibs`. To actually enabled use of dependencies, edit +to `make deplibs`. To actually enable/disable use of dependencies, edit `ports/unix/mpconfigport.mk` file, which has inline descriptions of the options. -For example, to build SSL module (required for `upip` tool described above), -set `MICROPY_PY_USSL` to 1. +For example, to build SSL module (required for `upip` tool described above, +and so enabled by dfeault), `MICROPY_PY_USSL` should be set to 1. -In `ports/unix/mpconfigport.mk`, you can also disable some dependencies enabled -by default, like FFI support, which requires libffi development files to -be installed. +For some ports, building required dependences is transparent, and happens +automatically. They still need to be fetched with the git submodule command +above. The STM32 version ----------------- @@ -141,6 +146,7 @@ https://launchpad.net/gcc-arm-embedded To build: + $ git submodule update --init $ cd ports/stm32 $ make