You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/src/build-instructions.md
+9-3Lines changed: 9 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,7 +64,7 @@ Source code is organized as follows:
64
64
65
65
*`src` Contains the core AtomVM virtual machine source code;
66
66
*`lib` Contains the Erlang and Elixir core library source code;
67
-
*`tools` Contains AtomVM tooling, including the `PackBEAM` executable, as well as build support tooling;
67
+
*`tools` Contains build support tooling;
68
68
*`examples` Contains sample programs for demonstration purposes;
69
69
*`tests` Contains test code run as part of test qualification;
70
70
*`doc` Contains documentation source code and content.
@@ -73,11 +73,17 @@ The `src` directory is broken up into the core platform-independent AtomVM libra
73
73
74
74
## External dependencies
75
75
76
+
### `packbeam`
77
+
78
+
AtomVM depends on `packbeam`. It is used to pack beams as well as assets into AtomVM pack format, `.avm`. `packbeam` source code is downloaded automatically by `rebar3` from `hex` mirrors, and it is then escriptized.
79
+
80
+
It is possible to use a local copy of `packbeam` source code by setting `PACKBEAM_PATH` variable to a path to a source checkout of [`atomvm_packbeam`](https://github.com/atomvm/atomvm_packbeam) when invoking CMake.
81
+
76
82
### `uf2tool`
77
83
78
-
AtomVM depends on `uf2tool`. It is used to pack both native and Erlang/Elixir/Gleam code for RP2. uf2tool is downloaded automatically by `rebar3` from `hex` mirrors.
84
+
AtomVM depends on `uf2tool`. It is used to pack both native and Erlang/Elixir/Gleam code for RP2. `uf2tool` source code is downloaded automatically by `rebar3` from `hex` mirrors.
79
85
80
-
It is possible to use a local copy of uf2tool by setting `UF2TOOL_PATH` variable to a path to a source checkout of [`uf2tool`](https://github.com/pguyot/uf2tool) when invoking CMake.
86
+
It is possible to use a local copy of `uf2tool` source code by setting `UF2TOOL_PATH` variable to a path to a source checkout of [`uf2tool`](https://github.com/pguyot/uf2tool) when invoking CMake.
${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM -l${CMAKE_CURRENT_BINARY_DIR}/estdlib/src/estdlib.avm | sed -e 's|^|${CMAKE_CURRENT_BINARY_DIR}/estdlib/src/beams/|g' > ${CMAKE_CURRENT_BINARY_DIR}/estdlib_beams.txt
62
+
${CMAKE_BINARY_DIR}/tools/packbeam/packbeam list -f bare${CMAKE_CURRENT_BINARY_DIR}/estdlib/src/estdlib.avm | sed -e 's|^|${CMAKE_CURRENT_BINARY_DIR}/estdlib/src/beams/|g' > ${CMAKE_CURRENT_BINARY_DIR}/estdlib_beams.txt
${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM -l${CMAKE_CURRENT_BINARY_DIR}/eavmlib/src/eavmlib.avm | sed -e 's|^|${CMAKE_CURRENT_BINARY_DIR}/eavmlib/src/beams/|g' > ${CMAKE_CURRENT_BINARY_DIR}/eavmlib_beams.txt
68
+
${CMAKE_BINARY_DIR}/tools/packbeam/packbeam list -f bare${CMAKE_CURRENT_BINARY_DIR}/eavmlib/src/eavmlib.avm | sed -e 's|^|${CMAKE_CURRENT_BINARY_DIR}/eavmlib/src/beams/|g' > ${CMAKE_CURRENT_BINARY_DIR}/eavmlib_beams.txt
${CMAKE_BINARY_DIR}/tools/packbeam/PackBEAM -l${CMAKE_CURRENT_BINARY_DIR}/alisp/src/alisp.avm | sed -e 's|^|${CMAKE_CURRENT_BINARY_DIR}/alisp/src/beams/|g' > ${CMAKE_CURRENT_BINARY_DIR}/alisp_beams.txt
74
+
${CMAKE_BINARY_DIR}/tools/packbeam/packbeam list -f bare${CMAKE_CURRENT_BINARY_DIR}/alisp/src/alisp.avm | sed -e 's|^|${CMAKE_CURRENT_BINARY_DIR}/alisp/src/beams/|g' > ${CMAKE_CURRENT_BINARY_DIR}/alisp_beams.txt
0 commit comments