From 9eac656e552d9c27aa9d02351fae73f0b3bf8d4d Mon Sep 17 00:00:00 2001 From: pancake Date: Fri, 19 Nov 2021 09:30:46 +0100 Subject: [PATCH] native: support passing a directory, instead of just a .v file (#12512) --- vlib/v/builder/native.v | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/vlib/v/builder/native.v b/vlib/v/builder/native.v index 8029b2a3de..d9dce6711a 100644 --- a/vlib/v/builder/native.v +++ b/vlib/v/builder/native.v @@ -3,6 +3,7 @@ module builder import v.pref import v.util import v.gen.native +import os pub fn (mut b Builder) build_native(v_files []string, out_file string) { if b.pref.os == .windows { @@ -10,7 +11,15 @@ pub fn (mut b Builder) build_native(v_files []string, out_file string) { } else if b.pref.os !in [.linux, .macos] { eprintln('Warning: v -native can only generate macOS and Linux binaries for now') } - b.front_and_middle_stages(v_files) or { return } + mut nvf := []string{} + for vf in v_files { + if os.is_dir(vf) { + nvf << b.v_files_from_dir(vf) + } else { + nvf << vf + } + } + b.front_and_middle_stages(nvf) or { return } util.timing_start('Native GEN') b.stats_lines, b.stats_bytes = native.gen(b.parsed_files, b.table, out_file, b.pref) util.timing_measure('Native GEN')