当前位置: 首页 > 工具软件 > JerryScript > 使用案例 >

ubuntu下编译jerryscript【搬运官方文档】

颜畅
2023-12-01

设置先决条件

目前,官方仅支持 Ubuntu 18.04+ 作为主要开发环境。

有几个依赖项,应该手动安装。以下列表是构建的绝对最小值:

  • gcc或任何符合 C99 的编译器(本机或交叉编译器,例如 arm-none-eabi)
  • cmake>=2.8.12.2

一些脚本和工具有助于构建和开发过程,因此建议同时安装以下内容:

  • bash>=4.3.11
  • cppcheck>=1.61
  • clang-format-10>=10.0.0
  • python>=2.7.6
sudo apt-get install gcc gcc-arm-none-eabi cmake cppcheck clang-format-10 python

为了使我们的脚本正确运行,系统上应该有几个 shell 实用程序:

  • awk
  • bc
  • find
  • sed

构建 JerryScript

为 Linux 构建调试版本

python tools/build.py --debug

为没有 LTO(链接时间优化)的 Linux 构建调试版本

python tools/build.py --debug --lto=off

启用更详细的输出以进行调试

tools/build.py --debug --logging=on --error-messages=on --line-info=on

向 CMake 添加自定义参数

python tools/build.py --cmake-param=CMAKE_PARAM

设置配置文件模式(es.next,最小)

python tools/build.py --profile=es.next|minimal

另请参阅相关的README.md

使用(编译器默认,外部)libc

默认 libc 是编译器默认 libc,但您也可以使用外部 libc:

  • 编译器默认 libc:
python tools/build.py
  • 外部库:
python tools/build.py --compile-flag="-nostdlib -I/path/to/ext-libc/include" --link-lib="ext-c"

添加工具链文件

cmake目录已经包含一些可用的工具链文件,您可以按以下格式使用它们:

python tools/build.py --toolchain=TOOLCHAIN

例如,对 RaspberryPi 2 的交叉编译是这样的:

python tools/build.py --toolchain=cmake/toolchain_linux_armv7l.cmake

使用系统内存分配器

python tools/build.py --system-allocator=on

注意:系统分配器仅在 32 位系统上受支持。

启用 32 位压缩指针

python tools/build.py --cpointer-32bit=on

注意:如果启用,32 位系统上没有压缩/解压缩。

更改默认堆大小 (512K)

python tools/build.py --mem-heap=256

如果您想使用超过 512K,则必须启用 32 位压缩指针。

python tools/build.py --cpointer-32bit=on --mem-heap=1024

注意:当使用 JerryScript 内存分配器时,堆大小将在编译时静态分配。

使用 libfuzzer 支持构建

CC=clang python tools/build.py --libfuzzer=on --compile-flag=-fsanitize=address --lto=off

检查 libfuzzer 的文档以获取创建的 fuzzer 二进制文件的运行时设置:https ://llvm.org/docs/LibFuzzer.html 。

获取适用于 Linux 的所有可用构建选项的列表

python tools/build.py --help

检查补丁

python tools/run-tests.py --precommit

只运行一种类型的测试

运行构建选项测试

python tools/run-tests.py --buildoption-test

运行单元测试

python tools/run-tests.py --unittests

运行 jerry-tests

python tools/run-tests.py --jerry-tests

运行签核检查

python tools/run-tests.py --check-signed-off

运行 cppcheck

python tools/run-tests.py --check-cppcheck

运行格式检查

python tools/run-tests.py --check-format

获取所有可用测试选项的列表

python tools/run-tests.py --help
 类似资料: