Bazel - 使用源码编译 Bazel (引导指令)

使用源码编译 Bazel (引导指令)


原文标题:Compiling Bazel from Source (bootstrapping)
原文地址:https://docs.bazel.build/versions/master/install-compile-source.html


目录


使用源码编译 Bazel (引导指令)

你可以使用源码编译 Bazel ,而不必使用现有的一个二进制文件。

1 安装依赖项

Unix-like 系统

确保你已经安装了以下项目:

  • Bash

  • zip, unzip

  • C++ build toolchan

  • JDK 8 。你必须安装版本 8 的 JDK。 不支持其它比 8 高的版本。

  • Python 。支持 2 和 3 。

一个 Ubuntu Linux 的例子,你可以使用以下命令安装它们:

sudo apt-get install build-essential openjdk-8-jdk python zip unzip

Windows 系统

确保你已经安装了以下项目:

  • MSYS2 shell

  • The required MSYS2 packages. 在 MSYS2 shell 中运行以下命令

    pacman -Syu zip unzip
  • Visual C++ 编译器(compiler)。 安装的 VC++ 编译器至少是 Visual Studio 2015 或更新的版本,或者可以安装最新版本的Build Tools for Visual Studio 2017

  • JDK 8 。你必须安装版本 8 的 JDK。 不支持其它比 8 高的版本。

  • Python 。支持 2 和 3 。但必须是 Windows-native version (下载自https://www.python.org)。不支持在 MSYS2 中使用 via pacman 安装的 Python。

2 下载并解压缩Bazel的源文件(distribution archive)

GitHub 下载 bazel-<version>-dist.zip, e.g. bazel-0.15.2-dist.zip.

注意: 存在一个 单一(single),独立结构(architecture-independent) 的分布式文档。不存在特定结构(architecture-specific)或者特定OS(OS-specific)的分布式存档。

注意: 你必须使用 distribution archive 从源码进行构建 Bazel 。你不能在 GitHub 中使用克隆 source tree。(distribution archive 包含了引导生成源码文件所需的源文件,而不是标准 Git source tree 的一部分)

我们建议同时验证由我们的 release key 48457EE0 生成的签名。

3 引导 Bazel

Unix-like 系统

在 Unix-like 系统中,比如 Ubuntu Linux 或是 macOS ,使用如下步骤:

  • 1. 打开一个 shell 或 终端窗口。

  • 2. 切换到你用于解压 distribution archive 的目录。

  • 3. 运行命令:bash ./compile.sh

编译输出被放在了output/bazel中。这是一个没有嵌入 JDK 且独立的 Bazel 二进制文件。 你可以将它复制到环境变量PATH中的目录中(例如在 Linux 中的/usr/local/bin),或者直接使用。

Windows 系统

  • 1. 打开 MSYS2 shell

  • 2. 设置环境变量

    • BAZEL_VSBAZEL_VC(它们是不同的):设置路径到 Visual Studio 的文件夹 (BAZEL_V S)或是设置路径到 Visual C++ 的文件夹 (BAZEL_V C)。只需设置其中一个。

    • BAZEL_SH:设置成 MSYS2 bash.exe 的路径。见例子中的命令。

    • PATH:加入Python的路径。

    • JAVA_HOME:设置成 JDK 所在的文件夹。

    例子(使用 BAZEL_VS):

    export BAZEL_VS="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools"
    export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))"
    export PATH="/c/python27:$PATH"
    export JAVA_HOME="C:/Program Files/Java/jdk1.8.0_112"

    或(使用 BAZEL_VC):

    export BAZEL_VC="C:/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC"
    export BAZEL_SH="$(cygpath -m $(realpath $(which bash)))"
    export PATH="/c/python27:$PATH"
    export JAVA_HOME="C:/Program Files/Java/jdk1.8.0_112"
  • 3. 切换到你用于解压 distribution archive 的目录。

  • 4. 运行命令:./compile.sh

编译输出被放在了output/bazel.exe中。这是一个没有嵌入 JDK 且独立的 Bazel 二进制文件。 你可以将它复制到环境变量%PATH%中的目录中,或者直接使用。

你不需要从 MSYS2 shell 启动 Bazel。你可以从命令提示符(cmd.exe)或者 PowerShell 启动它。

猜你喜欢

转载自blog.csdn.net/darkrabbit/article/details/81262535