Skip to content

Commit 9d7ef05

Browse files
committed
README: Document how to enable/build external dependencies.
1 parent e693e52 commit 9d7ef05

1 file changed

Lines changed: 29 additions & 3 deletions

File tree

README.md

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,35 @@ Browse available modules on
9494
Standard library modules come from
9595
[micropython-lib](https://github.com/micropython/micropython-lib) project.
9696

97-
(*) Debian/Ubuntu/Mint derivative Linux distros will require build-essentials,
98-
libffi-dev and pkg-config packages installed. If you have problems with some
99-
dependencies, they can be disabled in unix/mpconfigport.mk .
97+
External dependencies
98+
---------------------
99+
100+
Building Unix version requires some dependencies installed. For
101+
Debian/Ubuntu/Mint derivative Linux distros, install `build-essentials`
102+
(includes toolchain and make), `libffi-dev`, and `pkg-config` packages.
103+
104+
Other dependencies can be built together with MicroPython. Oftentimes,
105+
you need to do this to enable extra features or capabilities. To build
106+
these additional dependencies, first fetch git submodules for them:
107+
108+
$ git submodule update --init
109+
110+
Use this same command to get the latest versions of dependencies, as
111+
they are updated from time to time. After that, in `unix/` dir, execute:
112+
113+
$ make deplibs
114+
115+
This will build all available dependencies (regardless whether they
116+
are used or not). If you intend to build MicroPython with additional
117+
options (like cross-compiling), the same set of options should be passed
118+
to `make deplibs`. To actually enabled use of dependencies, edit
119+
`unix/mpconfigport.mk` file, which has inline descriptions of the options.
120+
For example, to build SSL module (required for `upip` tool described above),
121+
set `MICROPY_PY_USSL` to 1.
122+
123+
In `unix/mpconfigport.mk`, you can also disable some dependencies enabled
124+
by default, like FFI support, which requires libffi development files to
125+
be installed.
100126

101127
The STM version
102128
---------------

0 commit comments

Comments
 (0)