From 1cef660156792ccd55b058f73cd88503ae16113a Mon Sep 17 00:00:00 2001 From: Annie_wang Date: Fri, 6 May 2022 16:10:34 +0800 Subject: [PATCH] update docs Signed-off-by: Annie_wang --- en/readme/compilation-and-building.md | 57 +++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 en/readme/compilation-and-building.md diff --git a/en/readme/compilation-and-building.md b/en/readme/compilation-and-building.md new file mode 100644 index 0000000000..4c2a88a73e --- /dev/null +++ b/en/readme/compilation-and-building.md @@ -0,0 +1,57 @@ +# Compilation and Building + + +The compilation and building subsystem provides a framework based on Generate Ninja (GN) and Ninja. This subsystem allows you to: + +- Build products based on different chipset platforms, for example, Hi3516D V300. + +- Package capabilities required by a product by assembling modules based on the product configuration. + +## Basic Concepts + +It is considered best practice to learn the following basic concepts before you start building: + +- Platform + + A combination of development boards and kernels. Supported subsystems and components vary with the platform. + +- Subsystem + + OpenHarmony is designed with a layered architecture, which consists of the kernel layer, system service layer, framework layer, and application layer from the bottom up. System functions are developed by the level of system, subsystem, and module. In a multi-device deployment scenario, you can customize subsystems and modules as required. A subsystem is a logical concept and is a flexible combination of modules. + +- Module + + A module is a reusable software unit that contains source code, configuration files, resource files, and build scripts. A module can be built independently, integrated in binary mode, and then tested independently. + +- GN + + Generate Ninja (GN) is a system used to generate build files for Ninja. + +- Ninja + + Ninja is a small high-speed build system. + + +## Working Principles + +The compilation and build process of OpenHarmony is as follows: + +- Parsing commands: Parse the name of the product to build and load related configurations. +- Running GN: Configure the toolchain and global options based on the parsed product name and compilation type. +- Running Ninja: Start building and generate a product distribution. + +## Building a Mini or Small System + +See [build\_lite](https://gitee.com/openharmony/build_lite/blob/master/README.md). + +## Building a Standard System + +See the readme of the **build** repository. + +## Repositories Involved + +**Compilation and building** + +[build\_lite](https://gitee.com/openharmony/build_lite) + +build -- GitLab