# 编译构建子系统 - [基本概念](#section175012297491) - [运作机制](#section193961322175011) - [轻量和小型系统](#section119041639115811) - [标准系统](#section8750514195912) - [相关仓](#section44651652878) 编译构建子系统提供了一个基于gn和ninja的编译构建框架。主要提供以下功能: - 构建不同芯片平台的产品。如:Hi3516DV300平台。 - 根据产品配置可以按照组件组装打包产品需要的能力。 ## 基本概念 在了解编译构建子系统的能力前,应了解如下基本概念: - 平台 开发板和内核的组合,不同平台支持的子系统和组件不同。 - 子系统 OpenHarmony整体遵从分层设计,从下向上依次为:内核层、系统服务层、框架层和应用层。系统功能按照“系统 \> 子系统 \> 组件”逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或组件。子系统是一个逻辑概念,它具体由对应的组件构成。 - 组件 对子系统的进一步拆分,可复用的软件单元,它包含源码、配置文件、资源文件和编译脚本;能独立构建,以二进制方式集成,具备独立验证能力的二进制单元。 - gn Generate ninja的缩写,用于产生ninja文件。 - ninja ninja是一个专注于速度的小型构建系统。 ## 运作机制 OpenHarmony侧的编译构建流程主要包括编译命令行解析,调用gn,执行ninja: - 命令行解析:解析待编译的产品名称,加载相关配置。 - 调用gn: 根据命令行解析的产品名称和编译类型,配置编译工具链和全局的编译选项。 - 执行ninja:启动编译并生成对应的产品版本。 ## 轻量和小型系统 轻量和小型系统的编译构建介绍请见[build\_lite](https://gitee.com/openharmony/build_lite)的Readme文档。 ## 标准系统 标准系统的编译构建相关介绍请见build仓的Readme文档。 ## 相关仓 **编译构建子系统** [build\_lite](https://gitee.com/openharmony/build_lite) build