-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
executable file
·23 lines (23 loc) · 1014 Bytes
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/bin/env node
const commander = require('commander');
const build = require('./build');
const program = new commander.Command();
program.version('0.1.0');
program
.name('jstcc')
.option('-O, --optimize', 'Optimize for speed')
.option('-s, --small', 'Optimize for size')
.option('-o, --output-file <o>', 'Set the output file')
.option('-c, --no-linker', 'Don\'t run linker')
.option('--freestanding', 'Don\'t link against stdjslib.js')
.option('--no-rtti', 'Disable RTTI symbols')
.option('--cc <cc>', 'Set C Compiler (Also CC env var)')
.option('-6, --allow-es6-imports', 'Allow es6 imports (exprerimental, TODO)');
program.parse(process.argv);
if (!program.freestandig) {
program.args.unshift(__dirname + '/lib/stdjslib.js');
}
let opt = '0';
if (program.optimize) opt = '3';
if (program.small) opt = 's';
build(program.args, opt, program.outputFile || 'a', program.linker, program.cc || process.env.CC || 'clang', program.small, program.noRtti);