duktape-esp32
duktape-esp32 copied to clipboard
Vagrant or Docker
To build this project, you need:
- The xtensa build toolchain
- the
build-essential
(or equivalent) toolchain - Python (2.7, I think)
-
ESP-IDF
& its submodule(s) - Some stuff in
$PATH
and$IDF_PATH
must be set -
duktape
working copy or tarball - Node.js & userland modules for tooling
- Some misc tooling such as
mkspiffs
andmkespfsimage
which may need to be (re-)compiled
This is pretty painful, and some may not appreciate any potential version conflicts with already-installed software on their system. To mitigate this, how about we:
- Use Vagrant and a preconfigured Linux "box" with all of the prerequisites installed. This would necessitate use of hypervisor-specific utils that'd allow the user to "share" any COM ports / USB devices from the host to guest OS. VirtualBox is free (as free as Oracle software gets, anyway) and adequate for our purposes. OR:
- Instead of Vagrant & a VM, use container(s) and Docker. I know very little about containers other than running and configuring a few via GUIs, but the JerryScript folks went this route, and perhaps we can steal their ideas.
A solution like the above has some added wins:
- We can standardize the development environment, so we avoid hitting a certain class of development difficulties.
- Any hardcoded paths which currently exist in the codebase (e.g., pointing to @nkolban's home directory :wink:) can instead use this environment
- Windows users can build this project
- Eliminate need for separate development documentation for Mac users (who have somewhat different prereqs and pre-built/compiled executables in
bin/
) and Windows users - Easy to update the environment as needed
Thoughts?