# arkcompiler-manifest **Repository Path**: riscv-sig/arkcompiler-manifest ## Basic Information - **Project Name**: arkcompiler-manifest - **Description**: A fork of https://gitee.com/riscv-sig/llvm-toolchains. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2023-11-15 - **Last Updated**: 2024-06-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # arkcompiler-mainfest A glimpse of all arkcompiler and llvm code. Just run: ``` repo init -u https://gitee.com/riscv-sig/arkcompiler-manifest.git -b master -m arkcompiler-toolchains.xml ``` ### FIXME 1. During the linking process of JS Runtime and libc, the Target ABI will be checked. Currently, Ark requires some special calling constraints, so we need to provide a special version of clang for the build process, which cannot be obtained directly through the pre-built package. We need to manually build clang and copy it to the _prebuilts_ directory. ``` shell python3 toolchains/llvm-project/llvm-build/build.py --build-clean --debug --no-build-aarch64 --no-build-arm --no-build-mipsel --no-build windows --no-build-x86_64 mv prebuilts/clang/ohos/linux-x86_64/llvm prebuilts/clang/ohos/linux-x86_64/llvm.origin cp -r out/install/linux-x86_64/clang-dev/ prebuilts/clang/ohos/linux-x86_64/llvm ``` 2. The build of _arkcompiler\_ets\_runtime_ on RISCV-64 depends on Pre-built LLVM Libraries, which is usually located in the _prebuilts/ark\_tools/ark\_js\_prebuilts/llvm\_prebuilts\_riscv64_ directory. Currently, there is no channel to obtain it, so we need to manually build LLVM libraries and copy the output to the _prebuilts_ directory. You just need to simply execute `python3 toolchain/llvm-project/llvm-build/build-ohos-riscv64.py`, it will generate the built LLVM in the _out_ directory. ```shell mkdir -p prebuilts/ark_tools/ark_js_prebuilts/llvm_prebuilts_riscv64/{build,llvm} cp -r out/ohos-riscv64-install/include prebuilts/ark_tools/ark_js_prebuilts/llvm_prebuilts_riscv64/llvm/ cp -r out/ohos-riscv64/{include,lib} prebuilts/ark_tools/ark_js_prebuilts/llvm_prebuilts_riscv64/build/ ```