Skip to content

Commit 22d85f9

Browse files
committed
Extract platform-specific modules from eavmlib
Create new avm_emscripten, avm_esp32, avm_network, avm_rp2 and avm_stm32 libraries and build atomvmlib-<platform>-<jit aarch>.avm files for each platform and jit combination. Create new `{gpio,i2c,spi,uart}_hal` behavior module that serve as abstractions for all platforms. Signed-off-by: Paul Guyot <pguyot@kallisys.net>
1 parent ef4624c commit 22d85f9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+1450
-283
lines changed

.github/workflows/build-libraries.yaml

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,11 @@ jobs:
113113
- name: "Rename and write sha256sum"
114114
working-directory: build
115115
run: |
116-
ATOMVMLIB_FILE=atomvmlib-${{ github.ref_name }}.avm
117-
mv libs/atomvmlib.avm "libs/${ATOMVMLIB_FILE}" &&
118-
sha256sum "libs/${ATOMVMLIB_FILE}" > "libs/${ATOMVMLIB_FILE}.sha256"
116+
for variant in atomvmlib atomvmlib-esp32 atomvmlib-rp2 atomvmlib-stm32 atomvmlib-emscripten; do
117+
VARIANT_FILE="${variant}-${{ github.ref_name }}.avm"
118+
mv "libs/${variant}.avm" "libs/${VARIANT_FILE}" &&
119+
sha256sum "libs/${VARIANT_FILE}" > "libs/${VARIANT_FILE}.sha256"
120+
done
119121
HELLO_WORLD_FILE=hello_world-${{ github.ref_name }}.avm
120122
mv examples/erlang/hello_world.avm "examples/erlang/${HELLO_WORLD_FILE}"
121123
sha256sum "examples/erlang/${HELLO_WORLD_FILE}" > "examples/erlang/${HELLO_WORLD_FILE}.sha256"
@@ -129,5 +131,13 @@ jobs:
129131
files: |
130132
build/libs/atomvmlib-${{ github.ref_name }}.avm
131133
build/libs/atomvmlib-${{ github.ref_name }}.avm.sha256
134+
build/libs/atomvmlib-esp32-${{ github.ref_name }}.avm
135+
build/libs/atomvmlib-esp32-${{ github.ref_name }}.avm.sha256
136+
build/libs/atomvmlib-rp2-${{ github.ref_name }}.avm
137+
build/libs/atomvmlib-rp2-${{ github.ref_name }}.avm.sha256
138+
build/libs/atomvmlib-stm32-${{ github.ref_name }}.avm
139+
build/libs/atomvmlib-stm32-${{ github.ref_name }}.avm.sha256
140+
build/libs/atomvmlib-emscripten-${{ github.ref_name }}.avm
141+
build/libs/atomvmlib-emscripten-${{ github.ref_name }}.avm.sha256
132142
build/examples/erlang/hello_world-${{ github.ref_name }}.avm
133143
build/examples/erlang/hello_world-${{ github.ref_name }}.avm.sha256

.github/workflows/pico-build.yaml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -138,15 +138,15 @@ jobs:
138138
npm install
139139
npx tsx run-tests.ts ../build.nosmp/tests/rp2_tests.uf2 ../build.nosmp/tests/test_erl_sources/rp2_test_modules.uf2
140140
141-
- name: Build atomvmlib.uf2
141+
- name: Build atomvmlib-rp2.uf2
142142
if: startsWith(github.ref, 'refs/tags/') && matrix.board != 'pico_w' && matrix.platform == '' && matrix.jit == ''
143143
shell: bash
144144
run: |
145145
set -euo pipefail
146146
mkdir build
147147
cd build
148148
cmake ..
149-
make atomvmlib-${{ matrix.board }}.uf2
149+
make atomvmlib-rp2-${{ matrix.board }}.uf2
150150
151151
- name: Rename AtomVM and write sha256sum
152152
if: startsWith(github.ref, 'refs/tags/') && matrix.platform == '' && matrix.jit == ''
@@ -157,19 +157,14 @@ jobs:
157157
mv src/AtomVM.uf2 "src/${ATOMVM_UF2}"
158158
sha256sum "src/${ATOMVM_UF2}" > "src/${ATOMVM_UF2}.sha256"
159159
popd
160-
pushd build/libs
161-
ATOMVMLIB_FILE=atomvmlib-${{ matrix.board }}-${{ github.ref_name }}.uf2
162-
mv atomvmlib.uf2 "${ATOMVMLIB_FILE}"
163-
sha256sum "${ATOMVMLIB_FILE}" > "${ATOMVMLIB_FILE}.sha256"
164-
popd
165160
166-
- name: Rename atomvmlib and write sha256sum
161+
- name: Rename atomvmlib-rp2 and write sha256sum
167162
if: startsWith(github.ref, 'refs/tags/') && matrix.board != 'pico_w' && matrix.platform == '' && matrix.jit == ''
168163
shell: bash
169164
run: |
170165
pushd build/libs
171-
ATOMVMLIB_FILE=atomvmlib-${{ matrix.board }}-${{ github.ref_name }}.uf2
172-
mv atomvmlib-${{ matrix.board }}.uf2 "${ATOMVMLIB_FILE}"
166+
ATOMVMLIB_FILE=atomvmlib-rp2-${{ matrix.board }}-${{ github.ref_name }}.uf2
167+
mv atomvmlib-rp2-${{ matrix.board }}.uf2 "${ATOMVMLIB_FILE}"
173168
sha256sum "${ATOMVMLIB_FILE}" > "${ATOMVMLIB_FILE}.sha256"
174169
popd
175170
@@ -182,8 +177,8 @@ jobs:
182177
files: |
183178
src/platforms/rp2/build/src/AtomVM-${{ matrix.board }}-${{ github.ref_name }}.uf2
184179
src/platforms/rp2/build/src/AtomVM-${{ matrix.board }}-${{ github.ref_name }}.uf2.sha256
185-
build/libs/atomvmlib-${{ matrix.board }}-${{ github.ref_name }}.uf2
186-
build/libs/atomvmlib-${{ matrix.board }}-${{ github.ref_name }}.uf2.sha256
180+
build/libs/atomvmlib-rp2-${{ matrix.board }}-${{ github.ref_name }}.uf2
181+
build/libs/atomvmlib-rp2-${{ matrix.board }}-${{ github.ref_name }}.uf2.sha256
187182
188183
- name: Release (PicoW)
189184
uses: softprops/action-gh-release@v1

.github/workflows/run-tests-with-beam.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ jobs:
177177
working-directory: build
178178
run: |
179179
export PATH="${{ matrix.path_prefix }}$PATH"
180-
erl -pa tests/libs/estdlib/ -pa tests/libs/estdlib/beams/ -pa libs/etest/src/beams -pa libs/eavmlib/src/beams -s tests -s init stop -noshell
180+
erl -pa tests/libs/estdlib/ -pa tests/libs/estdlib/beams/ -pa libs/etest/src/beams -pa libs/eavmlib/src/beams -pa libs/avm_network/src/beams -s tests -s init stop -noshell
181181
182182
# Test
183183
- name: "Run tests/libs/etest/test_eunit with OTP eunit"

.github/workflows/wasm-build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ jobs:
7171
cd build
7272
cmake .. -G Ninja -DAVM_WARNINGS_ARE_ERRORS=ON
7373
# test_eavmlib does not work with wasm due to http + ssl test
74-
ninja AtomVM atomvmlib erlang_test_modules test_etest test_alisp test_estdlib hello_world run_script call_cast html5_events wasm_webserver
74+
ninja AtomVM atomvmlib atomvmlib-emscripten erlang_test_modules test_etest test_alisp test_estdlib hello_world run_script call_cast html5_events wasm_webserver
7575
7676
- name: "Perform CodeQL Analysis"
7777
uses: github/codeql-action/analyze@v4

CMakeModules/BuildErlang.cmake

Lines changed: 84 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,18 @@
2020

2121
macro(pack_archive avm_name)
2222

23-
set(multiValueArgs ERLC_FLAGS MODULES)
23+
set(multiValueArgs ERLC_FLAGS MODULES DEPENDS_ON)
2424
cmake_parse_arguments(PACK_ARCHIVE "" "" "${multiValueArgs}" ${ARGN})
2525
list(JOIN PACK_ARCHIVE_ERLC_FLAGS " " PACK_ARCHIVE_ERLC_FLAGS)
26+
27+
# Build -pa flags and file dependencies from DEPENDS_ON
28+
set(_pack_archive_pa_flags "")
29+
set(_pack_archive_extra_deps "")
30+
foreach(_dep_name IN LISTS PACK_ARCHIVE_DEPENDS_ON)
31+
list(APPEND _pack_archive_pa_flags -pa ${CMAKE_BINARY_DIR}/libs/${_dep_name}/src/beams)
32+
list(APPEND _pack_archive_extra_deps ${CMAKE_BINARY_DIR}/libs/${_dep_name}/src/${_dep_name}.avm)
33+
endforeach()
34+
2635
foreach(module_name IN LISTS ${PACK_ARCHIVE_MODULES} PACK_ARCHIVE_MODULES PACK_ARCHIVE_UNPARSED_ARGUMENTS)
2736
add_custom_command(
2837
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/beams/${module_name}.beam
@@ -32,8 +41,9 @@ macro(pack_archive avm_name)
3241
-I ${CMAKE_SOURCE_DIR}/libs/include
3342
-I ${CMAKE_SOURCE_DIR}/libs
3443
-I ${CMAKE_CURRENT_SOURCE_DIR}/../include
44+
${_pack_archive_pa_flags}
3545
${CMAKE_CURRENT_SOURCE_DIR}/${module_name}.erl
36-
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}.erl
46+
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${module_name}.erl ${_pack_archive_extra_deps}
3747
COMMENT "Compiling ${module_name}.erl"
3848
VERBATIM
3949
)
@@ -63,6 +73,10 @@ macro(pack_archive avm_name)
6373
${avm_name} ALL
6474
DEPENDS ${avm_name}_emu
6575
)
76+
# Add target-level dependencies from DEPENDS_ON
77+
foreach(_dep_name IN LISTS PACK_ARCHIVE_DEPENDS_ON)
78+
add_dependencies(${avm_name} ${_dep_name})
79+
endforeach()
6680
endmacro()
6781

6882
macro(pack_precompiled_archive avm_name)
@@ -127,12 +141,17 @@ macro(pack_precompiled_archive avm_name)
127141
endmacro()
128142

129143
macro(pack_lib avm_name)
144+
set(options UF2)
145+
cmake_parse_arguments(PACK_LIB "${options}" "" "" ${ARGN})
146+
130147
set(pack_lib_${avm_name}_archive_targets "")
148+
set(pack_lib_${avm_name}_archives "")
149+
set(pack_lib_${avm_name}_emu_archives "")
131150
if(NOT AVM_DISABLE_JIT)
132151
set(pack_lib_${avm_name}_archive_targets jit)
133152
endif()
134153

135-
foreach(archive_name ${ARGN})
154+
foreach(archive_name ${PACK_LIB_UNPARSED_ARGUMENTS})
136155
if(${archive_name} STREQUAL "exavmlib")
137156
set(pack_lib_${avm_name}_archives ${pack_lib_${avm_name}_archives} ${CMAKE_BINARY_DIR}/libs/${archive_name}/lib/${archive_name}.avm)
138157
elseif(${archive_name} STREQUAL "estdlib")
@@ -164,7 +183,7 @@ macro(pack_lib avm_name)
164183
foreach(jit_target_arch_variant ${AVM_PRECOMPILED_TARGETS})
165184
# Build JIT archives list for this specific target architecture
166185
set(pack_lib_${avm_name}_jit_archives_${jit_target_arch_variant} ${CMAKE_BINARY_DIR}/libs/jit/src/jit-${jit_target_arch_variant}.avm)
167-
foreach(archive_name ${ARGN})
186+
foreach(archive_name ${PACK_LIB_UNPARSED_ARGUMENTS})
168187
if(${archive_name} STREQUAL "estdlib")
169188
set(pack_lib_${avm_name}_jit_archives_${jit_target_arch_variant} ${pack_lib_${avm_name}_jit_archives_${jit_target_arch_variant}} ${CMAKE_BINARY_DIR}/libs/${archive_name}/src/${archive_name}-${jit_target_arch_variant}.avm)
170189
endif()
@@ -180,56 +199,59 @@ macro(pack_lib avm_name)
180199
set(target_deps ${target_deps} ${avm_name}-${jit_target_arch_variant}.avm)
181200
endforeach()
182201
endif()
183-
add_custom_command(
184-
OUTPUT ${avm_name}-pico.uf2
185-
DEPENDS ${avm_name}.avm UF2Tool
186-
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-pico.uf2 -s 0x10100000 ${avm_name}.avm
187-
COMMENT "Creating UF2 file ${avm_name}.uf2"
188-
VERBATIM
189-
)
190-
add_custom_command(
191-
OUTPUT ${avm_name}-pico2.uf2
192-
DEPENDS ${avm_name}.avm UF2Tool
193-
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-pico2.uf2 -f data -s 0x10100000 ${avm_name}.avm
194-
COMMENT "Creating UF2 file ${avm_name}.uf2"
195-
VERBATIM
196-
)
197-
set(target_deps ${target_deps} ${avm_name}-pico.uf2 ${avm_name}-pico2.uf2)
198202

199-
if((NOT AVM_DISABLE_JIT OR AVM_ENABLE_PRECOMPILED) AND ("armv6m" IN_LIST AVM_PRECOMPILED_TARGETS))
203+
if(PACK_LIB_UF2)
200204
add_custom_command(
201-
OUTPUT ${avm_name}-armv6m-pico.uf2
202-
DEPENDS ${avm_name}-armv6m.avm UF2Tool
203-
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m-pico.uf2 -s 0x10100000 ${avm_name}-armv6m.avm
204-
COMMENT "Creating UF2 file ${avm_name}-armv6m.uf2"
205+
OUTPUT ${avm_name}-pico.uf2
206+
DEPENDS ${avm_name}.avm UF2Tool
207+
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-pico.uf2 -s 0x10100000 ${avm_name}.avm
208+
COMMENT "Creating UF2 file ${avm_name}-pico.uf2"
205209
VERBATIM
206210
)
207211
add_custom_command(
208-
OUTPUT ${avm_name}-armv6m-pico2.uf2
209-
DEPENDS ${avm_name}-armv6m.avm UF2Tool
210-
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m-pico2.uf2 -f data -s 0x10100000 ${avm_name}-armv6m.avm
211-
COMMENT "Creating UF2 file ${avm_name}-armv6m.uf2"
212+
OUTPUT ${avm_name}-pico2.uf2
213+
DEPENDS ${avm_name}.avm UF2Tool
214+
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-pico2.uf2 -f data -s 0x10100000 ${avm_name}.avm
215+
COMMENT "Creating UF2 file ${avm_name}-pico2.uf2"
212216
VERBATIM
213217
)
214-
set(target_deps ${target_deps} ${avm_name}-armv6m-pico.uf2 ${avm_name}-armv6m-pico2.uf2)
215-
endif()
218+
set(target_deps ${target_deps} ${avm_name}-pico.uf2 ${avm_name}-pico2.uf2)
216219

217-
if((NOT AVM_DISABLE_JIT OR AVM_ENABLE_PRECOMPILED) AND ("armv6m+float32" IN_LIST AVM_PRECOMPILED_TARGETS))
218-
add_custom_command(
219-
OUTPUT ${avm_name}-armv6m+float32-pico.uf2
220-
DEPENDS ${avm_name}-armv6m+float32.avm UF2Tool
221-
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m+float32-pico.uf2 -s 0x10100000 ${avm_name}-armv6m+float32.avm
222-
COMMENT "Creating UF2 file ${avm_name}-armv6m+float32.uf2"
223-
VERBATIM
224-
)
225-
add_custom_command(
226-
OUTPUT ${avm_name}-armv6m+float32-pico2.uf2
227-
DEPENDS ${avm_name}-armv6m+float32.avm UF2Tool
228-
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m+float32-pico2.uf2 -f data -s 0x10100000 ${avm_name}-armv6m+float32.avm
229-
COMMENT "Creating UF2 file ${avm_name}-armv6m+float32.uf2"
230-
VERBATIM
231-
)
232-
set(target_deps ${target_deps} ${avm_name}-armv6m+float32-pico.uf2 ${avm_name}-armv6m+float32-pico2.uf2)
220+
if((NOT AVM_DISABLE_JIT OR AVM_ENABLE_PRECOMPILED) AND ("armv6m" IN_LIST AVM_PRECOMPILED_TARGETS))
221+
add_custom_command(
222+
OUTPUT ${avm_name}-armv6m-pico.uf2
223+
DEPENDS ${avm_name}-armv6m.avm UF2Tool
224+
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m-pico.uf2 -s 0x10100000 ${avm_name}-armv6m.avm
225+
COMMENT "Creating UF2 file ${avm_name}-armv6m-pico.uf2"
226+
VERBATIM
227+
)
228+
add_custom_command(
229+
OUTPUT ${avm_name}-armv6m-pico2.uf2
230+
DEPENDS ${avm_name}-armv6m.avm UF2Tool
231+
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m-pico2.uf2 -f data -s 0x10100000 ${avm_name}-armv6m.avm
232+
COMMENT "Creating UF2 file ${avm_name}-armv6m-pico2.uf2"
233+
VERBATIM
234+
)
235+
set(target_deps ${target_deps} ${avm_name}-armv6m-pico.uf2 ${avm_name}-armv6m-pico2.uf2)
236+
endif()
237+
238+
if((NOT AVM_DISABLE_JIT OR AVM_ENABLE_PRECOMPILED) AND ("armv6m+float32" IN_LIST AVM_PRECOMPILED_TARGETS))
239+
add_custom_command(
240+
OUTPUT ${avm_name}-armv6m+float32-pico.uf2
241+
DEPENDS ${avm_name}-armv6m+float32.avm UF2Tool
242+
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m+float32-pico.uf2 -s 0x10100000 ${avm_name}-armv6m+float32.avm
243+
COMMENT "Creating UF2 file ${avm_name}-armv6m+float32-pico.uf2"
244+
VERBATIM
245+
)
246+
add_custom_command(
247+
OUTPUT ${avm_name}-armv6m+float32-pico2.uf2
248+
DEPENDS ${avm_name}-armv6m+float32.avm UF2Tool
249+
COMMAND ${CMAKE_BINARY_DIR}/tools/uf2tool/uf2tool create -o ${avm_name}-armv6m+float32-pico2.uf2 -f data -s 0x10100000 ${avm_name}-armv6m+float32.avm
250+
COMMENT "Creating UF2 file ${avm_name}-armv6m+float32-pico2.uf2"
251+
VERBATIM
252+
)
253+
set(target_deps ${target_deps} ${avm_name}-armv6m+float32-pico.uf2 ${avm_name}-armv6m+float32-pico2.uf2)
254+
endif()
233255
endif()
234256

235257
add_custom_target(
@@ -258,25 +280,38 @@ macro(pack_runnable avm_name main)
258280
DEPENDS ${main}.beam
259281
)
260282

283+
# Select the right PLT based on platform-specific dependencies
284+
set(pack_runnable_${avm_name}_plt_name "atomvmlib")
285+
261286
foreach(archive_name ${ARGN})
262287
if(NOT ${archive_name} STREQUAL "exavmlib")
263288
set(pack_runnable_${avm_name}_archives ${pack_runnable_${avm_name}_archives} ${CMAKE_BINARY_DIR}/libs/${archive_name}/src/${archive_name}.avm)
264-
if(NOT ${archive_name} MATCHES "^eavmlib|estdlib|alisp$")
289+
if(NOT ${archive_name} MATCHES "^eavmlib|estdlib|alisp|avm_network|avm_esp32|avm_rp2|avm_stm32|avm_emscripten$")
265290
set(${avm_name}_dialyzer_beams_opt ${${avm_name}_dialyzer_beams_opt} "-r" ${CMAKE_BINARY_DIR}/libs/${archive_name}/src/beams/)
266291
endif()
267292
else()
268293
set(pack_runnable_${avm_name}_archives ${pack_runnable_${avm_name}_archives} ${CMAKE_BINARY_DIR}/libs/${archive_name}/lib/${archive_name}.avm)
269294
endif()
270295
set(pack_runnable_${avm_name}_archive_targets ${pack_runnable_${avm_name}_archive_targets} ${archive_name})
296+
# Pick the platform-specific PLT if a platform library is in the dependencies
297+
if(${archive_name} STREQUAL "avm_esp32")
298+
set(pack_runnable_${avm_name}_plt_name "atomvmlib-esp32")
299+
elseif(${archive_name} STREQUAL "avm_rp2")
300+
set(pack_runnable_${avm_name}_plt_name "atomvmlib-rp2")
301+
elseif(${archive_name} STREQUAL "avm_stm32")
302+
set(pack_runnable_${avm_name}_plt_name "atomvmlib-stm32")
303+
elseif(${archive_name} STREQUAL "avm_emscripten")
304+
set(pack_runnable_${avm_name}_plt_name "atomvmlib-emscripten")
305+
endif()
271306
endforeach()
272307

273308
if (Dialyzer_FOUND)
274309
add_custom_target(
275310
${avm_name}_dialyzer
276311
DEPENDS ${avm_name}_main
277-
COMMAND dialyzer --plt ${CMAKE_BINARY_DIR}/libs/atomvmlib.plt -c ${main}.beam ${${avm_name}_dialyzer_beams_opt}
312+
COMMAND dialyzer --plt ${CMAKE_BINARY_DIR}/libs/${pack_runnable_${avm_name}_plt_name}.plt -c ${main}.beam ${${avm_name}_dialyzer_beams_opt}
278313
)
279-
add_dependencies(${avm_name}_dialyzer atomvmlib_plt ${pack_runnable_${avm_name}_archive_targets})
314+
add_dependencies(${avm_name}_dialyzer ${pack_runnable_${avm_name}_plt_name}_plt ${pack_runnable_${avm_name}_archive_targets})
280315
add_dependencies(dialyzer ${avm_name}_dialyzer)
281316
endif()
282317

examples/elixir/esp32/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ project(examples_elixir_esp32)
2222

2323
include(BuildElixir)
2424

25-
pack_runnable(Blink Blink estdlib eavmlib exavmlib)
26-
pack_runnable(Ledc_x4 Ledc_x4 estdlib eavmlib exavmlib)
25+
pack_runnable(Blink Blink estdlib eavmlib exavmlib avm_esp32)
26+
pack_runnable(Ledc_x4 Ledc_x4 estdlib eavmlib exavmlib avm_esp32)
2727
if(NOT (AVM_DISABLE_FP))
28-
pack_runnable(SHT31 SHT31 estdlib eavmlib exavmlib)
28+
pack_runnable(SHT31 SHT31 estdlib eavmlib exavmlib avm_esp32)
2929
endif()

examples/elixir/stm32/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,4 +22,4 @@ project(examples_elixir_stm32)
2222

2323
include(BuildElixir)
2424

25-
pack_runnable(MultiBlink MultiBlink estdlib eavmlib exavmlib)
25+
pack_runnable(MultiBlink MultiBlink estdlib eavmlib exavmlib avm_stm32)

examples/emscripten/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ project(examples_emscripten)
2222

2323
include(BuildErlang)
2424

25-
pack_runnable(run_script run_script estdlib eavmlib)
26-
pack_runnable(call_cast call_cast eavmlib)
27-
pack_runnable(html5_events html5_events estdlib eavmlib)
28-
pack_runnable(echo_websocket echo_websocket estdlib eavmlib)
29-
pack_runnable(wasm_webserver wasm_webserver estdlib eavmlib)
25+
pack_runnable(run_script run_script estdlib eavmlib avm_emscripten)
26+
pack_runnable(call_cast call_cast eavmlib avm_emscripten)
27+
pack_runnable(html5_events html5_events estdlib eavmlib avm_emscripten)
28+
pack_runnable(echo_websocket echo_websocket estdlib eavmlib avm_emscripten)
29+
pack_runnable(wasm_webserver wasm_webserver estdlib eavmlib avm_network avm_emscripten)

examples/erlang/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,11 +35,11 @@ pack_runnable(tcp_socket_client tcp_socket_client estdlib eavmlib)
3535
pack_runnable(tcp_socket_server tcp_socket_server estdlib eavmlib)
3636
pack_runnable(udp_socket_server udp_socket_server estdlib eavmlib)
3737
pack_runnable(udp_socket_client udp_socket_client estdlib eavmlib)
38-
pack_runnable(hello_world_server hello_world_server estdlib eavmlib)
39-
pack_runnable(system_info_server system_info_server estdlib eavmlib)
38+
pack_runnable(hello_world_server hello_world_server estdlib eavmlib avm_network)
39+
pack_runnable(system_info_server system_info_server estdlib eavmlib avm_network)
4040
pack_runnable(code_lock code_lock estdlib eavmlib)
4141
pack_runnable(mqtt_client mqtt_client estdlib eavmlib)
4242
pack_runnable(network_console network_console estdlib eavmlib alisp)
4343
pack_runnable(logging_example logging_example estdlib eavmlib)
44-
pack_runnable(http_client http_client estdlib eavmlib)
44+
pack_runnable(http_client http_client estdlib eavmlib avm_network)
4545
pack_runnable(disterl disterl estdlib)

0 commit comments

Comments
 (0)