# prebuilts_lite_sysroot **Repository Path**: cypress1010/prebuilts_lite_sysroot ## Basic Information - **Project Name**: prebuilts_lite_sysroot - **Description**: System header files and standard libraries | 系统头文件和标准库 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 112 - **Created**: 2021-04-27 - **Last Updated**: 2024-05-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sysroot - [Introduction](#section11660541593) - [Directory Structure](#section161941989596) - [Constraints](#section119744591305) - [Compilation and Building](#section137768191623) - [Usage](#section68313135353) - [Repositories Involved](#section1371113476307) ## Introduction **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. ## Directory Structure ``` /prebuilts/lite/sysroot ├── build # Toolchain building (including build scripts) ├── thirdparty # Temporary third-party header files required for toolchain building ├── 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 ``` ## Constraints **sysroot** applies only to the OpenHarmony kernel. ## Compilation and Building 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 **thirdparty\_headers.sh** and **build\_musl\_clang.sh** scripts in the **build** directory, respectively. The new libc library will be stored in the **/prebuilts/lite/sysroot/build/usr** directory. Then, you need to replace the header files and libc library in the **/prebuilts/lite/sysroot/usr** directory. ## Usage - 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](https://gitee.com/openharmony/docs/blob/master/en/device-dev/quick-start/setting-up-the-hi3518-development-environment.md) and [Setting Up the Hi3516 Development Environment](https://gitee.com/openharmony/docs/blob/master/en/device-dev/quick-start/setting-up-the-hi3516-development-environment.md). - The following is a sample script for compiling the **helloworld.c** program: ``` clang -o helloworld helloworld.c -target arm-liteos -L ~/llvm/lib/clang/9.0.0/lib/arm-liteos/a7_softfp_neon-vfpv4 --sysroot=/usr/xxx/OS/prebuilts/lite/sysroot/ ``` The compiler directory is **\~/llvm**. ## Repositories Involved [Kernel subsystem](https://gitee.com/openharmony/docs/blob/master/en/readme/kernel.md) **prebuilts\_lite\_sysroot**