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 bc9a2748c5 Better missing PyYAML warning for configure.py 4 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 Better missing PyYAML warning for configure.py 4 years ago
create_spdx_license.py Use 'ECMAScript' spelling in misc places 7 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 Minor fixes to dump_bytecode.py and duk_debug.js 6 years ago
extract_caseconv.py Use 'ECMAScript' spelling in misc places 7 years ago
extract_chars.py Use 'ECMAScript' spelling in misc places 7 years ago
extract_unique_options.py Makefile, dist, tools fixes for src/ rename 8 years ago
genbuiltins.py Update genbuiltins.py 6 years ago
genconfig.py Allow function-like macros to be defined via configure.py 6 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 Use 'ECMAScript' spelling in misc places 7 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.