Releases: SwimmingTiger/third_party_llvm-project
Release list
Unofficial HarmonyOS Command Line Tools 6.1.0.860 for ARM64 Debian 12
适用于 Debian 12 ARM64 版的非官方 HarmonyOS 命令行工具 6.1.0.860
使用hdc命令需要安装libusb-1.0-0-dev:
sudo apt install libusb-1.0-0-dev
使用签名工具需要安装java:
sudo apt install default-jdk
备注
llvm/clang/cmake/ninja/node/hdc 替换为了 ARM64 版,其他命令保留 x64 版并用 box64 进行了包装(内置 box64,无需单独安装)。
x64 和 arm64 可执行文件列表详见包内的 elf-arm64.list 和 elf-warpped.list。
注意:BiSheng编译器(command-line-tools/sdk/default/hms/native/BiSheng)没有被替换为ARM64版,所以如有可能请尽量避免使用,应该改用 command-line-tools/sdk/default/openharmony/native/llvm 内的普通llvm/clang编译器。此外由于ld.lld、clang++等符号连接需要原样传递给实际可执行文件,导致BiSheng编译器需要手动创建box64包装器,与box64-wrapper-scan.py自动包装脚本不兼容,所以请不要用包内的box64-wrapper-scan.py脚本更新BiSheng编译器目录的box64包装器。
相关项目
- ARM64鸿蒙原生版 HarmonyOS Command Line Tools(可在鸿蒙PC终端原生运行): https://github.com/SwimmingTiger/command-line-tools/releases
- ARM64 鸿蒙版 llvm-mingw 编译器(用于构建 wine 或其他 Windows 项目): https://github.com/SwimmingTiger/llvm-mingw/releases
Unofficial HarmonyOS Command Line Tools 5.1.0-2 for ARM64 Debian 12
适用于 Debian 12 ARM64 版的非官方 HarmonyOS 命令行工具 5.1.0-2
下载:ohos-command-line-tools-5.1.0-2-for-debian-12-arm64.tar.xz (1.8 GB)
使用hdc命令需要安装libusb-1.0-0-dev:
sudo apt install libusb-1.0-0-dev
更新日志
5.1.0-2
- 解决未安装 box64 时编译 Termony 出现 restool、es2abc 等命令不能执行的问题(通过内置 box64 解决)。
- 解决全局启用 box64 后编译 hnp 报 config.h 找不到的问题(通过删除 x64 版 diff 命令解决)。
与官方的区别
- 以下命令被删除:
# 如果系统内安装了 box64,不删会导致编译出错,报 config.h 找不到
# 删除后,编译时会改用系统自带 diff,不会再导致 config.h 找不到
command-line-tools/sdk/default/openharmony/toolchains/diff
- 以下命令被替换为了ARM64版:
command-line-tools/tool/node/bin/node
command-line-tools/sdk/default/openharmony/toolchains/hdc
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/cmake-gui
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/cmake
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/ccmake
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/cpack
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/ctest
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/ninja
command-line-tools/sdk/default/openharmony/native/llvm/lib/clang/15.0.4/bin/aarch64-linux-ohos/lldb-server
command-line-tools/sdk/default/openharmony/native/llvm/lib/clang/15.0.4/bin/aarch64-linux-ohos/lldb
command-line-tools/sdk/default/openharmony/native/llvm/bin/count
command-line-tools/sdk/default/openharmony/native/llvm/bin/not
command-line-tools/sdk/default/openharmony/native/llvm/bin/yaml2obj
command-line-tools/sdk/default/openharmony/native/llvm/bin/FileCheck
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-tblgen
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-ar
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-config
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-lto
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-profdata
command-line-tools/sdk/default/openharmony/native/llvm/bin/diagtool
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-15
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-format
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-nvlink-wrapper
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-linker-wrapper
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-offload-packager
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-offload-bundler
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-offload-wrapper
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-scan-deps
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-repl
command-line-tools/sdk/default/openharmony/native/llvm/bin/c-index-test
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-rename
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-refactor
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-check
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-extdef-mapping
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-apply-replacements
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-reorder-fields
command-line-tools/sdk/default/openharmony/native/llvm/bin/modularize
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-tidy
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-change-namespace
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-doc
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-include-fixer
command-line-tools/sdk/default/openharmony/native/llvm/bin/find-all-symbols
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-move
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-query
command-line-tools/sdk/default/openharmony/native/llvm/bin/pp-trace
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-pseudo
command-line-tools/sdk/default/openharmony/native/llvm/bin/clangd
command-line-tools/sdk/default/openharmony/native/llvm/bin/lld
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-argdumper
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-instr
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-vscode
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-server
command-line-tools/sdk/default/openharmony/native/llvm/bin/bugpoint
command-line-tools/sdk/default/openharmony/native/llvm/bin/dsymutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llc
command-line-tools/sdk/default/openharmony/native/llvm/bin/lli
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-as
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-bcanalyzer
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-c-test
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cat
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cfi-verify
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cov
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cvtres
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cxxdump
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cxxfilt
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cxxmap
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-debuginfod
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-debuginfod-find
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-diff
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dis
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dwarfdump
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dwarfutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dwp
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-exegesis
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-extract
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-gsymutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-ifs
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-jitlink
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-libtool-darwin
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-link
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-lipo
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-lto2
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-mc
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-mca
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-ml
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-modextract
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-mt
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-nm
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-objcopy
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-objdump
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-opt-report
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-pdbutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-profgen
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-rc
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-readobj
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-reduce
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-remark-size-diff
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-rtdyld
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-sim
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-size
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-split
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-stress
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-strings
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-symbolizer
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-tapi-diff
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-tli-checker
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-undname
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-xray
command-line-tools/sdk/default/openharmony/native/llvm/bin/opt
command-line-tools/sdk/default/openharmony/native/llvm/bin/sancov
command-line-tools/sdk/default/openharmony/native/llvm/bin/sanstats
command-line-tools/sdk/default/openharmony/native/llvm/bin/split-file
command-line-tools/sdk/default/openharmony/native/llvm/bin/verify-uselistorder
- 其他命令(比如
command-line-tools/sdk/default/openharmony/toolchains/hnpcli)通过压缩包内置的 box64 wrapper 仿真运行。
内置 box64 位置:command-line-tools/bin/box64.bin,wrapper:command-line-tools/bin/box64
通过 box64 仿真运行的命令列表:压缩包内文件 command-line-tools/box64-wrapper.list
通过 box64 仿真运行时会产生以下运行日志,包含命令路径及参数:/tmp/box64.log
编译 Termony 项目时,以下命令会通过 box64 仿真运行:
command-line-tools/sdk/default/openharmony/ets/build-tools/ets-loader/bin/ark/build/bin/es2abc
command-line-tools/sdk/default/openharmony/toolchains/restool
关于 command-line-tools/sdk/default/openharmony/toolchains/restool.arm64
我确实编译了一个 ARM64 版 restool 放在了包里,但是用不了,因为它会加载其他 so 库来完成必要操作,但是这些 so 库还没有编译成 ARM64 版。所以目前只能用 command-line-tools/sdk/default/openharmony/toolchains/restool 这个 box64 转译版。
Unofficial HarmonyOS Command Line Tools 5.1.0 for ARM64 Debian 12
适用于 Debian 12 ARM64 版的非官方 HarmonyOS 命令行工具 5.1.0
下载:ohos-command-line-tools-5.1.0-for-debian-12-arm64.tar.xz
使用hdc命令需要安装libusb-1.0-0-dev:
sudo apt install libusb-1.0-0-dev
以下命令被替换为了ARM64版:
command-line-tools/tool/node/bin/node
command-line-tools/sdk/default/openharmony/toolchains/hdc
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/cmake-gui
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/cmake
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/ccmake
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/cpack
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/ctest
command-line-tools/sdk/default/openharmony/native/build-tools/cmake/bin/ninja
command-line-tools/sdk/default/openharmony/native/llvm/lib/clang/15.0.4/bin/aarch64-linux-ohos/lldb-server
command-line-tools/sdk/default/openharmony/native/llvm/lib/clang/15.0.4/bin/aarch64-linux-ohos/lldb
command-line-tools/sdk/default/openharmony/native/llvm/bin/count
command-line-tools/sdk/default/openharmony/native/llvm/bin/not
command-line-tools/sdk/default/openharmony/native/llvm/bin/yaml2obj
command-line-tools/sdk/default/openharmony/native/llvm/bin/FileCheck
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-tblgen
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-ar
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-config
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-lto
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-profdata
command-line-tools/sdk/default/openharmony/native/llvm/bin/diagtool
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-15
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-format
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-nvlink-wrapper
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-linker-wrapper
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-offload-packager
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-offload-bundler
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-offload-wrapper
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-scan-deps
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-repl
command-line-tools/sdk/default/openharmony/native/llvm/bin/c-index-test
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-rename
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-refactor
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-check
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-extdef-mapping
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-apply-replacements
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-reorder-fields
command-line-tools/sdk/default/openharmony/native/llvm/bin/modularize
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-tidy
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-change-namespace
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-doc
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-include-fixer
command-line-tools/sdk/default/openharmony/native/llvm/bin/find-all-symbols
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-move
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-query
command-line-tools/sdk/default/openharmony/native/llvm/bin/pp-trace
command-line-tools/sdk/default/openharmony/native/llvm/bin/clang-pseudo
command-line-tools/sdk/default/openharmony/native/llvm/bin/clangd
command-line-tools/sdk/default/openharmony/native/llvm/bin/lld
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-argdumper
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-instr
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-vscode
command-line-tools/sdk/default/openharmony/native/llvm/bin/lldb-server
command-line-tools/sdk/default/openharmony/native/llvm/bin/bugpoint
command-line-tools/sdk/default/openharmony/native/llvm/bin/dsymutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llc
command-line-tools/sdk/default/openharmony/native/llvm/bin/lli
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-as
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-bcanalyzer
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-c-test
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cat
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cfi-verify
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cov
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cvtres
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cxxdump
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cxxfilt
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-cxxmap
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-debuginfod
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-debuginfod-find
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-diff
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dis
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dwarfdump
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dwarfutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-dwp
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-exegesis
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-extract
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-gsymutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-ifs
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-jitlink
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-libtool-darwin
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-link
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-lipo
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-lto2
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-mc
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-mca
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-ml
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-modextract
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-mt
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-nm
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-objcopy
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-objdump
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-opt-report
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-pdbutil
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-profgen
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-rc
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-readobj
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-reduce
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-remark-size-diff
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-rtdyld
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-sim
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-size
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-split
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-stress
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-strings
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-symbolizer
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-tapi-diff
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-tli-checker
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-undname
command-line-tools/sdk/default/openharmony/native/llvm/bin/llvm-xray
command-line-tools/sdk/default/openharmony/native/llvm/bin/opt
command-line-tools/sdk/default/openharmony/native/llvm/bin/sancov
command-line-tools/sdk/default/openharmony/native/llvm/bin/sanstats
command-line-tools/sdk/default/openharmony/native/llvm/bin/split-file
command-line-tools/sdk/default/openharmony/native/llvm/bin/verify-uselistorder
其他命令(比如command-line-tools/sdk/default/openharmony/toolchains/hnpcli)还是x86_64版,如果需要使用,可以安装 box64 实现仿真运行。
目前替换为ARM64版的命令已经足够编译安装Termony项目了,所以我没继续替换其他命令。