运行ninja
, 构建四个二进制文件test.cc
-test.rs
-deno{''|'.exe'}
-deno_ns{''|'.exe'}
#!/usr/bin/env python
# Copyright 2018 the Deno authors. All rights reserved. MIT license.
from __future__ import print_function
import os
import sys
import third_party
from util import build_path, run
third_party.fix_symlinks()
ninja_args = sys.argv[1:] # ninja 构建时的参数
if not "-C" in ninja_args: # 获得GN 的生产 .ninja文件
if not os.path.isdir(build_path()):
print("Build directory '%s' does not exist." % build_path(),
"Run tools/setup.py")
sys.exit(1)
ninja_args = ["-C", build_path()] + ninja_args
run([third_party.ninja_path] + ninja_args,
env=third_party.google_env(),
quiet=True)
deno第三方包-V8-使用的构建系统是Ninja,而 GN 是用来生成
.ninja
文件的工具。
- third_party > fix_symlinks
- util > build_path
- util > run
- third_party > ninja_path
- third_party > google_env
我们有了个, 测试版本的二进制文件deno
# Run.
./out/debug/deno tests/002_hello.ts
但是, 在这一步, 此脚本仅仅是运行了一下v8
的构建工具ninja
, 就造出了融入多个语言的二进制文件
其中关于ninja
和gn
的使用配置大部分是需要去重新学习
- [gn 的使用]
- [ninja 的使用]