Refactor tools/configure.py and util/dist.py to be just wrappers to
executing the Node.js based tooling. The wrapper .py files are both
Py2 and Py3 compatible. Node.js version must be >= 14.x.
Remove the old 'make checksetup' target and the related script. The
script is a bit out-of-date, and awkward to maintain for multiple Linux
targets.
Dependencies for util/dist.py are now simple (Python 2 + Python
YAML binding) and explained in the README. There are also Docker images
for easy development setup which mostly removes the need to document
all the dependencies on all potential Linux distributions for Makefile
targets like building the site.
* Use /work instead of /build inside Docker image.
* If /work/duktape exists, use it as is. This is useful if docker
call site mounts /work/duktape manually.
* Add GCC and Clang versions to docker base image, and some small
useful packages.
* Add a 'shell' image for testing stuff in a container.
* Run as non-root in Docker containers.
* Colorized prompts to distinguish in-docker vs. out-of-docker easily.
* Gitignore and Makefile updates. Add 'docker-clean' Makefile target
to delete images. Add 'docker-shell-master' and
'docker-shell-wdmount' targets to use the shell container.
* Short README entry on Docker images.
* Rename prepare_sources.py to configure.py; the operation is similar to
autoconf ./configure so the association is useful.
* Rename make_dist.py to dist.py.
* Generate only one source set (combined or separate) for one run of
configure.py.
* Change dist.py to run configure.py three times to generate the default
source sets.
* Use an autodeleted temporary directory for preparing sources, which
removes some of the manual temporary file handling.