在元模式下构建 NetBSD

主要观点:介绍使用meta 模式下的 bmake构建 NetBSD,借鉴在 meta 模式下构建 FreeBSD的工作,十多年来 Junos 以此方式构建且效果良好,meta 模式和dirdeps.mk可单独使用。NetBSD 构建本身没大问题,因工作需在 NetBSD 上进行开发项目而尝试让 DIRDEPS_BUILD 在 NetBSD 上工作,实际只需很少努力,构建 i386 后又构建其他架构以测试依赖影响,还介绍了 NetBSD 2020 引入的 filemon_ktrace 及对 Makefiles 的修改(只需修改 include/Makefile 等少数文件),提及不考虑构建 toolchains 及解决 2015 年和 2023 年的循环依赖问题,最后总结 2015 年和 2023 年构建的情况。
关键信息:十多年来 Junos 用此方式构建;NetBSD 构建本身情况;为在 NetBSD 上开发项目尝试 DIRDEPS_BUILD;引入 filemon_ktrace;修改 Makefiles 的文件;不考虑构建 toolchains;解决循环依赖问题。
重要细节:FreeBSD 中 DIRDEPS_BUILD 启用意味着 META_MODE;2015 年为解决 libpthread 循环依赖做的修改;2023 年修改 external/gpl3/gcc/lib/libgcc/Makefile.inc 避免头文件重复 staging;2015 年构建大部分 userland 和内核花费两天,2023 年构建 bin/cat 不到一天等。

阅读 7
0 条评论