From 063a37a8e635dd0695bd154e28619abbc2b21b6d Mon Sep 17 00:00:00 2001 From: chen3feng Date: Sun, 31 Mar 2024 17:30:59 +0800 Subject: [PATCH] Fix suffix and target finding --- .vscode/settings.json | 1 - src/blade/cc_targets.py | 2 ++ src/blade/load_build_files.py | 8 ++++++-- src/blade/target.py | 3 --- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 06696dec..bc392949 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,4 @@ { - "python.linting.pylintEnabled": true, "python.analysis.extraPaths": [ "src", "src/test" diff --git a/src/blade/cc_targets.py b/src/blade/cc_targets.py index 814b1d38..d8e64e63 100644 --- a/src/blade/cc_targets.py +++ b/src/blade/cc_targets.py @@ -1354,6 +1354,8 @@ def _cc_binary(self, objs, inclusion_check_result, dynamic_link): objs.append(scm) order_only_deps.append(scm) output = self._target_file_path(self.name) + if os.name == 'nt': + output += '.exe' self._cc_link(output, 'link', objs=objs, deps=usr_libs, sys_libs=sys_libs, linker_scripts=self.attr.get('lds_fullpath'), version_scripts=self.attr.get('vers_fullpath'), diff --git a/src/blade/load_build_files.py b/src/blade/load_build_files.py index 783af0df..3768066b 100644 --- a/src/blade/load_build_files.py +++ b/src/blade/load_build_files.py @@ -421,7 +421,6 @@ def load_targets(target_ids, excluded_targets, blade): # starting dirs mentioned in command line direct_targets, starting_dirs = _expand_target_patterns(blade, target_ids, excluded_trees) starting_dirs -= excluded_dirs - # to prevent duplicated loading of BUILD files processed_dirs = {} @@ -486,12 +485,17 @@ def under_excluded_trees(source_dir): for target_id in target_ids: source_dir, target_name = target_id.rsplit(':', 1) - if source_dir and not os.path.exists(source_dir): + + if source_dir == '': + source_dir = '.' + elif not os.path.exists(source_dir): _report_not_exist('Directory', source_dir, source_dir, blade) + skip_file = _check_under_skipped_dir(source_dir) if skip_file: console.warning('"%s" is under skipped directory due to "%s", ignored' % (target_id, skip_file)) continue + if target_name == '...': for root, dirs, files in os.walk(source_dir): # Note the dirs[:] = slice assignment; we are replacing the diff --git a/src/blade/target.py b/src/blade/target.py index f9649919..25ee71b3 100644 --- a/src/blade/target.py +++ b/src/blade/target.py @@ -440,7 +440,6 @@ def _add_location_reference_target(self, m): def _unify_dep(self, dep): """Unify dep to key.""" (path, name, msgs) = _parse_target(dep) - console.warning(f'uni: dep={dep}, path={path}') if msgs: for msg in msgs: @@ -464,7 +463,6 @@ def _unify_dep(self, dep): else: # Depend on library in current directory path = self.path - console.warning(f'_unify_dep: dep={dep}, path={path}') return '%s:%s' % (path, name) def _init_target_deps(self, deps): @@ -481,7 +479,6 @@ def _init_target_deps(self, deps): """ for d in deps: dkey = self._unify_dep(d) - console.warning(f'deps={deps}, dkey={dkey}') if dkey and dkey not in self.deps: self.deps.append(dkey)