Skip to content

Latest commit

 

History

History
108 lines (85 loc) · 5.07 KB

README.md

File metadata and controls

108 lines (85 loc) · 5.07 KB

About profile files

Specify compile definitions in profile files to use when compiling the jerry-core target.

The default profile is es.next which enables all of the currently implemented features.

Using profiles with the build system

You can specify the profile for the build system in the following ways:

  • with absolute path
  • with a name (this options selects profiles/$(name).profile file)

Restrictions

Only single line options are allowed in the profile file. Any line starting with hash-mark is ignored. Semicolon character is not allowed.

Example usage

1. Using the build script

If you want to use a predefined profile, run the build script as follows (assuming that you are in the project root folder):

./tools/build.py --profile=minimal

Alternatively, if you want to use a custom profile at /absolute/path/to/my.profile:

# Disable not needed features
JERRY_BUILTIN_CONTAINER=0
JERRY_BUILTIN_DATAVIEW=0
JERRY_BUILTIN_TYPEDARRAY=0

Run the build script as follows (assuming that you are in the project root folder):

./tools/build.py --profile=/absolute/path/to/my.profile

2. Using only CMake build system

Set FEATURE_PROFILE option to one of the following values:

  • the profile with absolute path
  • name of the profile (which needs to exist in the profiles folder)

Configurations

In JerryScript all of the features are enabled by default, so an empty profile file turns on all of the available ECMA features. The defines can have a value of 0 or 1. If for whatever reason one of them are not defined, it is treated as if it were defined to 1.

Built-ins

  • JERRY_BUILTINS: Enables or disable all of the Built-in objects
  • JERRY_BUILTIN_ANNEXB: Enables or disables the Annex B of the ECMA5.1 standard.
  • JERRY_BUILTIN_ARRAY: Enables or disable the Array built-in.
  • JERRY_BUILTIN_BOOLEAN: Enables or disables the Boolean built-in.
  • JERRY_BUILTIN_DATE: Enables or disables the Date built-in.
  • JERRY_BUILTIN_ERRORS: Enables or disables the Native Error Types (EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError). Note: The Error object remains available.
  • JERRY_BUILTIN_JSON: Enables or disables the JSON built-in.
  • JERRY_BUILTIN_MATH: Enables or disables the Math built-in.
  • JERRY_BUILTIN_NUMBER: Enables or disables the Number built-in.
  • JERRY_BUILTIN_REGEXP: Enables or disables the RegExp built-in.
  • JERRY_BUILTIN_STRING: Enables or disables the String built-in.
  • JERRY_BUILTIN_BIGINT: Enables or disables the BigInt syntax and built-in.
  • JERRY_BUILTIN_CONTAINER: Enables or disables the following built-ins:
  • JERRY_BUILTIN_DATAVIEW: Enables or disables the DataView built-in.
  • JERRY_BUILTIN_GLOBAL_THIS: Enables or disables the GlobalThisValue built-in.
  • JERRY_BUILTIN_PROXY: Enables or disables the Proxy related internal workings and built-in.
  • JERRY_BUILTIN_REALMS: Enables or disables the Realms support in the engine.
  • JERRY_BUILTIN_REFLECT: Enables or disables the Reflect built-in.
  • JERRY_BUILTIN_TYPEDARRAY: Enables or disables the ArrayBuffer and TypedArray built-ins.
  • JERRY_BUILTIN_WEAKREF: Enables or disables the WeakRef built-in.
  • JERRY_MODULE_SYSTEM: Enables or disable the module system language element.