This commit is contained in:
wxf 2016-10-02 18:27:48 +08:00
Родитель ff6a8fac2a
Коммит 763fdb4be1
1 изменённых файлов: 67 добавлений и 1 удалений

Просмотреть файл

@ -120,4 +120,70 @@ $ ./script/cpplint.py
```bash
$ ./script/test.py
```
```
## Advanced topics
默认编译配置是针对主流 Linux 桌面发行版而言, 对于其他特定发行版或平台, 以下信息可能会帮到你.
### 本地编译 `libchromiumcontent`
可以添加参数 `--build_libchromiumcontent``bootstrap.py` 脚本以避免使用预编译的
`libchromiumcontent` 二进制文件:
```bash
$ ./script/bootstrap.py -v --build_libchromiumcontent
```
默认情况下不会以 `shared_library` 方式编译, 所以你如果使用以下模式的话, 只能编译 Electron
`Release` 版本:
```bash
$ ./script/build.py -c R
```
### 使用系统提供的 `clang`
默认情况下 Electron 使用 Chromium 项目提供的预编译的 `clang` 进行编译. 如果基于某些原因
你想要使用已经安装到系统的 `clang` 进行编译, 可以添加 `--clang_dir=<path>` 参数给
`bootstrap.py` 以指定 `clang` 安装路径. 上面参数告诉编译脚本, 在目录 `<path>/bin/` 下有
`clang` 程序.
假设你的 `clang` 安装路径为 `/user/local/bin/clang`:
```bash
$ ./script/bootstrap.py -v --build_libchromiumcontent --clang_dir /usr/local
$ ./script/build.py -c R
```
### 使用 `clang` 之外的编译器
要使用其他编译器 (如: `g++`) 编译 Electron, 首先需要使用参数 `--disable_clang` 禁用 `clang`,
然后设置 `CC``CXX` 环境变量.
假设使用 GCC 工具链:
```bash
$ env CC=gcc CXX=g++ ./script/bootstrap.py -v --build_libchromiumcontent --disable_clang
$ ./script/build.py -c R
```
### 环境变量
除了 `CC``CXX`, 你还可以设置以下环境变量来自定以编译配置:
* `CPPFLAGS`
* `CPPFLAGS_host`
* `CFLAGS`
* `CFLAGS_host`
* `CXXFLAGS`
* `CXXFLAGS_host`
* `AR`
* `AR_host`
* `CC`
* `CC_host`
* `CXX`
* `CXX_host`
* `LDFLAGS`
以上环境变量需要在执行 `bootstrap.py` 前设置, 在执行 `build.py` 的时候再设置将无效.