1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00

tools: fix the first run of v translate hw.c

This commit is contained in:
Delyan Angelov 2022-06-19 16:19:56 +03:00
parent b9cb56572f
commit 7b1ade237b
No known key found for this signature in database
GPG Key ID: 66886C0F12D595ED

View File

@ -11,33 +11,35 @@ fn main() {
c2v_bin := os.join_path(c2v_dir, 'c2v') c2v_bin := os.join_path(c2v_dir, 'c2v')
// Git clone c2v // Git clone c2v
if !os.exists(c2v_dir) { if !os.exists(c2v_dir) {
println('C2V is not installed. Downloading C2V...') println('C2V is not installed. Cloning C2V to $c2v_dir ...')
println(vmodules)
os.chdir(vmodules)? os.chdir(vmodules)?
res := os.execute('git clone --depth 1 git@github.com:/vlang/c2v_alpha.git') res := os.execute('git clone --depth 1 git@github.com:/vlang/c2v_alpha.git')
if res.exit_code != 0 { if res.exit_code != 0 {
eprintln('Failed to download C2V. Perhaps it is not released yet? Is it June 20 yet?') eprintln('Failed to download C2V. Perhaps it is not released yet? Is it June 20 yet?')
return exit(1)
} }
} }
// Compile c2v // Compile c2v
if !os.exists(c2v_bin) { if !os.exists(c2v_bin) {
os.chdir(c2v_dir)? os.chdir(c2v_dir)?
println('Compiling c2v ...')
res2 := os.execute('v -d trace_verbose -g -o c2v -experimental -w .') res2 := os.execute('v -d trace_verbose -g -o c2v -experimental -w .')
if res2.exit_code != 0 { if res2.exit_code != 0 {
eprintln('Failed to compile C2V. This should never happen, please report it via GitHub.') eprintln('Failed to compile C2V. This should never happen, please report it via GitHub.')
return exit(2)
} }
} }
if os.args.len < 3 { if os.args.len < 3 {
eprintln('Wrong number of args. Use `v translate file.c`.') eprintln('Wrong number of args. Use `v translate file.c`.')
return exit(3)
} }
passed_args := util.args_quote_paths(os.args[2..]) passed_args := util.args_quote_paths(os.args[2..])
// println(passed_args) // println(passed_args)
os.chdir(os.wd_at_startup)?
res := os.execute('$c2v_bin $passed_args') res := os.execute('$c2v_bin $passed_args')
if res.exit_code != 0 { if res.exit_code != 0 {
eprintln('C2V failed to translate this file. This should never happen, please report it via GitHub.') eprintln('C2V failed to translate this file. This should never happen, please report it via GitHub.')
exit(4)
} }
println('Success!') println('Success!')
// println(res.output) // println(res.output)