嵌入式技术论坛
直播中

刘军

7年用户 1391经验值
私信 关注
[经验]

smart-build工具的menuconfig整体设计

智能构建

基本功能

  • 针对特定的软件,类似 buildroot 的 menuconfig 选择系列产品及配置;
  • 支持链,如arm、aarch64、ris等架构的编译,并使用更多工具;
  • 支持从硬件上下载不同的版本,并处理好符合,并从网络到本地;
  • 支持发布模式编译,支持调试模式编译;
  • 支持按静态库模式编译,支持按动态库模式编译;
  • 支持在最终输出到根文件系统时剥离掉多余的符号信息;

整体设计

展示 smart-build 的 menuconfig 配置界面:

  1. smart-build 存放位置
    image-20220803155859823
  2. menuconfig 主界面展示
    image-20220812172426535
  3. gnu_app 界面展示,支持多版本的选择:
    image-20220803162752524
  4. 工具链以及芯片架构选择界面,当前可用 arm 或者 arch64 架构:
    image-20220803163102256
  5. 配置保存,当选项配置完成后,选择 Save 保存当前配置。smart-build 会保存当前配置到 .config 文件中。

目录结构

smart-build
smart-build
├───figures                     				   // 文档使用图片
├───rt-xrpo							   // 包索引
|   |───packages
|   |	|───c
|   |	|   |───cul
|   |	|   |   |───patches         				   // 补丁文件
|   |	|   |   |	|───xmake.lua       			   // 编译配置
|   |   |───d
|───scripts                         				   // 配置文件,包括界面配置
|	|───buildroot.lua	
|	|───menuconfig.lua	
|	|───packages.lua	
|	|───platform.lua	
|───toolchains							   // 工具链
|	|───aarch64.lua					
|	|───arm.lua
|───xmake.luaREADME.md                       				   // 工具使用说明

Command options (buildroot):
        --menuconfig                 config and build gnu_app.
        --clean                      clean build dir.
        --distclean                  clean build and all installed pkg.

菜单配置

打开menuconfig 配置完成后,自动拉取,进行界面组装安装。

干净的

收集目录

去污剂

收集目录和所有已经安装的包

编译流程

  1. 用户选择要编译的 gnu-app
  2. 配置工具链和平台架构(arm、aarch64)
  3. 保存并退出
  4. 自动从仓库拉取版本的gnu-app
  5. 制造APP并将生成物存放在rt-smart/userapps/root/bin
  6. 根据现有脚本制作rootfs文件

生成文件

smart-build工具支持生成文件,以lua app为例,以视频配置流程:

  1. 选择lua榨汁:
    image-20220809162916935
  2. 选择工具链和目标平台:
    image-20220809162954794
  3. 保存,退出,智能构建会自动拉取包装工具并进行编译:
    image-20220809163042480
  4. 文件路径。
    image-20220812172550447

生成静态库文件

smart-build工具生成生成库文件。以支持zlib app为例,视频配置流程:

  1. 选择 zlib 应用程序:
    image-20220809163342928
  2. 参考链接和文件目标平台,配置工具。
  3. 保存,退出,智能构建会自动拉取包装工具并进行编译:
    image-20220809163443832
  4. 静态库文件:
    image-20220809163545912

原作者:xmake-io

更多回帖

发帖
×
20
完善资料,
赚取积分