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.
Direct comparison may have portability concerns because a constant may
have more precision than its counterpart. Even a direct cast before
a comparison may not work (e.g. Math.atan2() assert with gcc -m32 still
fails even when both sides have an explicit double cast). So use an
internal always-inline helper for float/double comparisons, which also
allows -Wfloat-equal warning to be suppressed in a single helper; add
a clang pragma option so that both gcc and clang suppress the warning.
Other changes:
* Add -Wfloat-equal warning back to the Makefile.
* Fix all internal float comparison call sites to use the helper.
* Add code policy check for probable floating point comparison
(not very important with -Wfloat-equal enabled).
* Add minimal CBOR config options.
* Add 'CBOR' built-in YAML metadata.
* Add a public C API for CBOR.
* Remove examples/cmdline support for extras/cbor, use built-in CBOR
instead.
* Makefile, dist/tools changes.
* Rewrite CBOR extra to use Duktape internal helpers, also some related
refactoring.
* Bump DUK_VERSION to 2.4.0.
* Release checklist updates.
* Releases file update.
* Finalize release notes.
* Remove experimental status from some API calls.
* Bump LICENSE.txt year range.
* Add new public symbols to API test.
* CBOR extra trivial compile warning fix.
* Compile warning fix when hex support disabled.
* Update test262 known issues.
* Update index page footprints.
* Improve options for thumb index page size build.
* Add missing "skip: true" metadata to a CBOR test.
* AUTHORS update.
* Add DUK_USE_NATIVE_STACK_CHECK config option.
* Add internal duk_native_stack_check() helper which checks and
throws if DUK_USE_NATIVE_STACK_CHECK() indicates we're out of
stack space.
* Add initial call sites for duk_native_stack_check(). These are
in addition to existing recursion limit checks.
* Add stack check example to cmdline example and 'duk' build on
Linux. Disabled by default for now.
* Remove DUK_USE_USER_DECLARE which hasn't been necessary since
Duktape 2.0. Add release note for removal.
* Downgrade or remove FIXMEs in config-options.
* Remove config/other-defines YAML files; they were out of date and
didn't really have a good use case.
* Fix Ecmascript -> ECMAScript spelling in feature and config options.
Also a few instances in debugger and cmdline example.
* Use lodash snapshot, fixes lodashtest.
* Fix underscore test shim.
* Emscripten option updates to make dukweb.js and Emscripten tests
work again.
* Update emscripten-status.rst.
* --polyfill allows caller to specify one or more polyfills to load before
executing the test. Useful for polyfills/promise.js.
* --ignore-skip allows caller to indicate that a test should be executed
even when its metadata has "skip: true". This is useful to develop tests
before an actual implementation is made, but still run tests using e.g.
a polyfill.