update node build config

This commit is contained in:
bridiver
2016-11-09 16:50:20 -07:00
parent 8d297e1a9f
commit 01e9294ff0
2 changed files with 33 additions and 12 deletions
+18 -1
View File
@@ -1,11 +1,28 @@
const program = require('commander');
const util = require('./util')
const path = require('path')
const fs = require('fs-extra')
program
.version(process.env.npm_package_version)
.option('-C <buildConfig>', 'build config (Debug/Release')
.parse(process.argv)
const buildConfig = program.buildConfig || util.defaultBuildConfig
const outputDir = path.join('out', program.buildConfig || util.defaultBuildConfig)
util.run('gn', ['gen', outputDir], { cwd: util.muonDir })
const component = buildConfig === 'Release' ? 'static_library' : 'shared_library'
console.log('generating node ninja files...')
fs.copySync(path.join(util.resourcesDir, 'node_config.gypi'), path.join(util.muonDir, 'vendor', 'node', 'config.gypi'))
const options = util.defaultOptions
options.env.GYP_INCLUDE_LAST = 'electron/node.gypi'
options.env.GYP_CHROMIUM_NO_ACTION = '0'
util.run('gyp_chromium', ['-I', 'electron/vendor/node/config.gypi', '-D', 'component=' + component, 'electron/vendor/node/node.gyp'], options)
console.log('building node...')
util.run('ninja', ['-C', outputDir, 'node'])
console.log('gn gen...')
util.run('gn', ['gen', outputDir])
+15 -11
View File
@@ -10,11 +10,12 @@ const scriptDir = path.dirname(__filename)
const rootDir = path.join(scriptDir, '..')
const depotToolsDir = path.join(rootDir, 'vendor', 'depot_tools')
const srcDir = path.join(rootDir, 'src')
const buildToolsDir = path.join(srcDir, 'build')
const muonDir = path.join(srcDir, 'electron')
const patchesDir = path.join(srcDir, 'libchromiumcontent')
const resourcesDir = path.join(rootDir, 'resources')
const default_options = {
const defaultOptions = {
env: process.env,
shell: true,
stdio: 'inherit',
@@ -23,6 +24,7 @@ const default_options = {
let shell_path = process.env.PATH.split(path.delimiter)
shell_path.push(depotToolsDir)
shell_path.push(buildToolsDir)
shell_path = shell_path.join(path.delimiter)
process.env.PATH = shell_path
@@ -38,38 +40,40 @@ const util = {
muonDir,
patchesDir,
resourcesDir,
default_options,
defaultOptions,
run: (command, arguments, options) => {
const prog = spawnSync(command, arguments, options)
run: (cmd, args, options = defaultOptions) => {
console.log(cmd, args)
const prog = spawnSync(cmd, args, options)
if (prog.status !== 0) {
console.error(prog.error)
process.exit(1)
}
},
submoduleSync: (options = {}) => {
util.run('git', ['submodule', 'sync'], Object.assign(default_options, options))
util.run('git', ['submodule', 'update', '--init', '--recursive'], Object.assign(default_options, options))
util.run('git', ['submodule', 'sync'], Object.assign(defaultOptions, options))
util.run('git', ['submodule', 'update', '--init', '--recursive'], Object.assign(defaultOptions, options))
},
gclientSync: (options = {}) => {
util.run('gclient', ['sync', '--force', '--nohooks', '--with_branch_heads'], Object.assign(default_options, options))
util.run('gclient', ['sync', '--force', '--nohooks', '--with_branch_heads'], Object.assign(defaultOptions, options))
},
gclientRunhooks: (options = {}) => {
util.run('gclient', ['runnohooks'], Object.assign(default_options, options))
util.run('gclient', ['runnohooks'], Object.assign(defaultOptions, options))
},
fetch: (options = {}) => {
util.run('git', ['fetch', 'origin'], Object.assign(default_options, options))
util.run('git', ['fetch', 'origin'], Object.assign(defaultOptions, options))
},
fetchTags: (options = {}) => {
util.run('git', ['fetch', 'origin', '--tags'], Object.assign(default_options, options))
util.run('git', ['fetch', 'origin', '--tags'], Object.assign(defaultOptions, options))
},
setVersion: (version, options = {}) => {
util.run('git', ['reset', '--hard', version], Object.assign(default_options, options))
util.run('git', ['reset', '--hard', version], Object.assign(defaultOptions, options))
},
}