跳转至

bazel

项目信息

名称 描述
名称 bazel
版本 3.7.2
项目地址 https://github.com/bazelbuild/bazel
官方指导 Compiling Bazel from source

环境信息

名称 描述
CPU 3A5000
系统 debian 10 容器

移植说明

bazel的构建方式有两种:
1. 通过已有的bazel构建
2. 从零开始
下文的移植步骤针对当前没有bazel二进制,从零开始构建bazel二进制

移植步骤

编译环境和依赖
1. Bash
2. zip,unzip
3. C++ 工具链
4. JDK8 或 JDK11
5. Python2 或 Python3

sudo apt-get install build-essential openjdk-11-jdk python3 zip unzip

下载源码
从bazelbuild/build仓库的release中下载未移植的源码包:bazel-3.7.2-dist.zip
从Loongson-Cloud-Community/bazel仓库的release中下载已经移植过的源码包:bazel-3.7.2-dist.zip
如果您下载了已经移植过的源码包,您可以跳过下文的移植章节

移植
关于移植过程中需要修改的文件以及如何修改可以参考217ac55以及8617b8c这两次提交
另外,您需要在platforms/cpu/BUILD文件末尾添加以下内容:

constraint_value(
    name = "loongarch64",
    constraint_setting = ":cpu",
)

编译
在确保网络通畅的情况下执行:

env EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk" bash ./compile.sh
编译结束后的二进制存放在output目录下,编译的bazel不包含JDK