sysroot is a root directory used by the Clang compiler to search for standard libraries and header files. The libc library is generated from the open-source musl library by compilation.
/prebuilts/lite/sysroot ├── build # Toolchain building (including build scripts) ├── usr # C library and header files exposed externally │ ├── include # Header files exposed externally │ │ └── arm-liteos # Chip architecture for the toolchain │ └── lib # C library exposed externally │ └── arm-liteos # Chip architecture for the toolchain
sysroot applies only to the OpenHarmony kernel.
When bugs in the musl library are fixed or the version is updated, you need to compile and build a new libc library by executing
make in the build directory, respectively. The new libc library will be stored in the /prebuilts/lite/sysroot/usr directory.
- Add the bin directory to the PATH environment variable. For details about how to set up the compilation environment, see Setting Up the Hi3518 Development Environment and Setting Up the Hi3516 Development Environment.
- The following is a sample script for compiling the helloworld.c program:
clang -o helloworld helloworld.c -target arm-liteos --sysroot=/my_ohos_root_path/prebuilts/lite/sysroot/
The compiler directory is ~/llvm.