You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Sami Vaarala e256c33773 Add duk_{hdecenv,hobjenv} to dist/configure 8 years ago
..
README.rst Dist/prepare tooling improvements 8 years ago
combine_src.py Tools and util fixes for #if(n)def 8 years ago
configure.py Add duk_{hdecenv,hobjenv} to dist/configure 8 years ago
create_spdx_license.py Update license / SPDX year range 8 years ago
duk_meta_to_strarray.py Split dist util, reorg tools, Python PEP8 8 years ago
dukutil.py Genbuiltins.py varuint encoding tweaks 8 years ago
dump_bytecode.py Split dist util, reorg tools, Python PEP8 8 years ago
extract_caseconv.py Python tool cleanups and improvements 8 years ago
extract_chars.py Python tool cleanups and improvements 8 years ago
extract_unique_options.py Makefile, dist, tools fixes for src/ rename 8 years ago
genbuiltins.py Genbuiltins.py ROM duk_hobjenv changes 8 years ago
genconfig.py Genconfig, commented out removed cfg opt check 8 years ago
json2yaml.py Split dist util, reorg tools, Python PEP8 8 years ago
merge_debug_meta.py More fixes and cleanups to dist/configure tooling 8 years ago
prepare_unicode_data.py More fixes and cleanups to dist/configure tooling 8 years ago
resolve_combined_lineno.py Makefile, dist, tools fixes for src/ rename 8 years ago
scan_strings.py Split dist util, reorg tools, Python PEP8 8 years ago
scan_used_stridx_bidx.py Validate DUK_USE_xxx in source against config meta 8 years ago
yaml2json.py Split dist util, reorg tools, Python PEP8 8 years ago

README.rst

=============
Duktape tools
=============

This directory contains various Duktape Python tools which are included in
the end user distributable.

The main tool is ``configure.py`` which simultaneously creates a
``duk_config.h`` configuration file and prepares source files for
compilation. These two operations are combined because:

1. Configuration options may affect source file preparation.

2. Some features involve metaprogramming. For example, when using ROM
built-ins YAML metadata is used for automatic code generation for the
ROM object initializers.

There are also other miscellaneous tools, e.g. utilities to scan potential
fixed strings from source files, dump bytecode, and resolving file/line
from combined source.

Because this tooling is part of the end user distributable, the tooling must
be as portable as possible. For example:

* Avoid Unix path separators.

* Avoid depending on Python executable name, use ``sys.executable`` instead
to launch Python commands.

The tooling has been written for Python 2.x. There's no support for
Python 3.x at present.