summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2024-11-25 21:43:46 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2024-11-25 21:43:46 (GMT)
commit6d70e82c31788fdbc95cc9dff0b116f632be5d62 (patch)
tree46f740ac8b07cd2cd61c2167ddd7c62d0ee36bf9
parent0b5ab8b6e4ab4fab4206220c593d9e7d88b0ebf9 (diff)
downloadSCons-6d70e82c31788fdbc95cc9dff0b116f632be5d62.zip
SCons-6d70e82c31788fdbc95cc9dff0b116f632be5d62.tar.gz
SCons-6d70e82c31788fdbc95cc9dff0b116f632be5d62.tar.bz2
renamed SCons.Tool.ninja -> SCons.Tool.ninja_tool and added alias in tool loading logic. This fixes changes in this PR breaking JavaCommonTests because pypi's ninja module and SCons.Tool.ninja had the same name which python couldn't differentiate
-rw-r--r--SCons/Tool/__init__.py1
-rw-r--r--SCons/Tool/ninja_tool/Globals.py (renamed from SCons/Tool/ninja/Globals.py)0
-rw-r--r--SCons/Tool/ninja_tool/Methods.py (renamed from SCons/Tool/ninja/Methods.py)8
-rw-r--r--SCons/Tool/ninja_tool/NinjaState.py (renamed from SCons/Tool/ninja/NinjaState.py)2
-rw-r--r--SCons/Tool/ninja_tool/Overrides.py (renamed from SCons/Tool/ninja/Overrides.py)0
-rw-r--r--SCons/Tool/ninja_tool/Rules.py (renamed from SCons/Tool/ninja/Rules.py)0
-rw-r--r--SCons/Tool/ninja_tool/Utils.py (renamed from SCons/Tool/ninja/Utils.py)8
-rw-r--r--SCons/Tool/ninja_tool/__init__.py (renamed from SCons/Tool/ninja/__init__.py)10
-rw-r--r--SCons/Tool/ninja_tool/ninja.xml (renamed from SCons/Tool/ninja/ninja.xml)0
-rw-r--r--SCons/Tool/ninja_tool/ninja_daemon_build.py (renamed from SCons/Tool/ninja/ninja_daemon_build.py)0
-rw-r--r--SCons/Tool/ninja_tool/ninja_run_daemon.py (renamed from SCons/Tool/ninja/ninja_run_daemon.py)0
-rw-r--r--SCons/Tool/ninja_tool/ninja_scons_daemon.py (renamed from SCons/Tool/ninja/ninja_scons_daemon.py)0
12 files changed, 15 insertions, 14 deletions
diff --git a/SCons/Tool/__init__.py b/SCons/Tool/__init__.py
index a7bc927..23b7eeb 100644
--- a/SCons/Tool/__init__.py
+++ b/SCons/Tool/__init__.py
@@ -102,6 +102,7 @@ TOOL_ALIASES = {
'gettext': 'gettext_tool',
'clang++': 'clangxx',
'as': 'asm',
+ 'ninja' : 'ninja_tool'
}
diff --git a/SCons/Tool/ninja/Globals.py b/SCons/Tool/ninja_tool/Globals.py
index 6b079ef..6b079ef 100644
--- a/SCons/Tool/ninja/Globals.py
+++ b/SCons/Tool/ninja_tool/Globals.py
diff --git a/SCons/Tool/ninja/Methods.py b/SCons/Tool/ninja_tool/Methods.py
index ff006c0..01866e5 100644
--- a/SCons/Tool/ninja/Methods.py
+++ b/SCons/Tool/ninja_tool/Methods.py
@@ -30,9 +30,9 @@ from typing import TYPE_CHECKING
import SCons
from SCons.Subst import SUBST_CMD
-from SCons.Tool.ninja import NINJA_CUSTOM_HANDLERS, NINJA_RULES, NINJA_POOLS
-from SCons.Tool.ninja.Globals import __NINJA_RULE_MAPPING
-from SCons.Tool.ninja.Utils import get_targets_sources, get_dependencies, get_order_only, get_outputs, get_inputs, \
+from SCons.Tool.ninja_tool import NINJA_CUSTOM_HANDLERS, NINJA_RULES, NINJA_POOLS
+from SCons.Tool.ninja_tool.Globals import __NINJA_RULE_MAPPING
+from SCons.Tool.ninja_tool.Utils import get_targets_sources, get_dependencies, get_order_only, get_outputs, get_inputs, \
get_rule, get_path, generate_command, get_command_env, get_comstr
if TYPE_CHECKING:
@@ -46,7 +46,7 @@ def register_custom_handler(env, name, handler) -> None:
def register_custom_rule_mapping(env, pre_subst_string, rule) -> None:
"""Register a function to call for a given rule."""
- SCons.Tool.ninja.Globals.__NINJA_RULE_MAPPING[pre_subst_string] = rule
+ __NINJA_RULE_MAPPING[pre_subst_string] = rule
def register_custom_rule(env, rule, command, description: str="", deps=None, pool=None, use_depfile: bool=False, use_response_file: bool=False, response_file_content: str="$rspc") -> None:
diff --git a/SCons/Tool/ninja/NinjaState.py b/SCons/Tool/ninja_tool/NinjaState.py
index da7aa28..274331e 100644
--- a/SCons/Tool/ninja/NinjaState.py
+++ b/SCons/Tool/ninja_tool/NinjaState.py
@@ -753,7 +753,7 @@ class SConsToNinjaTranslator:
# Ninja builders out of being sources of ninja builders but I
# can't fix every DAG problem so we just skip ninja_builders
# if we find one
- if SCons.Tool.ninja.NINJA_STATE.ninja_file == str(node):
+ if SCons.Tool.ninja_tool.NINJA_STATE.ninja_file == str(node):
build = None
elif isinstance(action, SCons.Action.FunctionAction):
build = self.handle_func_action(node, action)
diff --git a/SCons/Tool/ninja/Overrides.py b/SCons/Tool/ninja_tool/Overrides.py
index 83d2efb..83d2efb 100644
--- a/SCons/Tool/ninja/Overrides.py
+++ b/SCons/Tool/ninja_tool/Overrides.py
diff --git a/SCons/Tool/ninja/Rules.py b/SCons/Tool/ninja_tool/Rules.py
index e7d19e3..e7d19e3 100644
--- a/SCons/Tool/ninja/Rules.py
+++ b/SCons/Tool/ninja_tool/Rules.py
diff --git a/SCons/Tool/ninja/Utils.py b/SCons/Tool/ninja_tool/Utils.py
index 24d439e..7782687 100644
--- a/SCons/Tool/ninja/Utils.py
+++ b/SCons/Tool/ninja_tool/Utils.py
@@ -413,14 +413,14 @@ def ninja_stat(_self, path):
"""
try:
- return SCons.Tool.ninja.Globals.NINJA_STAT_MEMO[path]
+ return SCons.Tool.ninja_tool.Globals.NINJA_STAT_MEMO[path]
except KeyError:
try:
result = os.stat(path)
except os.error:
result = None
- SCons.Tool.ninja.Globals.NINJA_STAT_MEMO[path] = result
+ SCons.Tool.ninja_tool.Globals.NINJA_STAT_MEMO[path] = result
return result
@@ -430,7 +430,7 @@ def ninja_whereis(thing, *_args, **_kwargs):
# Optimize for success, this gets called significantly more often
# when the value is already memoized than when it's not.
try:
- return SCons.Tool.ninja.Globals.NINJA_WHEREIS_MEMO[thing]
+ return SCons.Tool.ninja_tool.Globals.NINJA_WHEREIS_MEMO[thing]
except KeyError:
# TODO: Fix this to respect env['ENV']['PATH']... WPD
# We do not honor any env['ENV'] or env[*] variables in the
@@ -443,7 +443,7 @@ def ninja_whereis(thing, *_args, **_kwargs):
# with shell quoting is nigh impossible. So I've decided to
# cross that bridge when it's absolutely required.
path = shutil.which(thing)
- SCons.Tool.ninja.Globals.NINJA_WHEREIS_MEMO[thing] = path
+ SCons.Tool.ninja_tool.Globals.NINJA_WHEREIS_MEMO[thing] = path
return path
diff --git a/SCons/Tool/ninja/__init__.py b/SCons/Tool/ninja_tool/__init__.py
index 7320d03..d86c2c9 100644
--- a/SCons/Tool/ninja/__init__.py
+++ b/SCons/Tool/ninja_tool/__init__.py
@@ -32,7 +32,7 @@ import sys
import SCons
import SCons.Script
-import SCons.Tool.ninja.Globals
+from SCons.Tool.ninja_tool.Globals import ninja_builder_initialized
from SCons.Script import GetOption
from SCons.Util import sanitize_shell_env
@@ -187,13 +187,13 @@ def ninja_emitter(target, source, env):
def generate(env):
"""Generate the NINJA builders."""
- global NINJA_STATE, NINJA_CMDLINE_TARGETS
+ global NINJA_STATE, NINJA_CMDLINE_TARGETS, ninja_builder_initialized
if 'ninja' not in GetOption('experimental'):
return
- if not SCons.Tool.ninja.Globals.ninja_builder_initialized:
- SCons.Tool.ninja.Globals.ninja_builder_initialized = True
+ if not ninja_builder_initialized:
+ ninja_builder_initialized = True
ninja_add_command_line_options()
@@ -255,7 +255,7 @@ def generate(env):
pass
else:
env.Append(CCFLAGS='$CCDEPFLAGS')
-
+
env.AddMethod(CheckNinjaCompdbExpand, "CheckNinjaCompdbExpand")
# Provide a way for custom rule authors to easily access command
diff --git a/SCons/Tool/ninja/ninja.xml b/SCons/Tool/ninja_tool/ninja.xml
index f89687e..f89687e 100644
--- a/SCons/Tool/ninja/ninja.xml
+++ b/SCons/Tool/ninja_tool/ninja.xml
diff --git a/SCons/Tool/ninja/ninja_daemon_build.py b/SCons/Tool/ninja_tool/ninja_daemon_build.py
index f198d77..f198d77 100644
--- a/SCons/Tool/ninja/ninja_daemon_build.py
+++ b/SCons/Tool/ninja_tool/ninja_daemon_build.py
diff --git a/SCons/Tool/ninja/ninja_run_daemon.py b/SCons/Tool/ninja_tool/ninja_run_daemon.py
index 666be0f..666be0f 100644
--- a/SCons/Tool/ninja/ninja_run_daemon.py
+++ b/SCons/Tool/ninja_tool/ninja_run_daemon.py
diff --git a/SCons/Tool/ninja/ninja_scons_daemon.py b/SCons/Tool/ninja_tool/ninja_scons_daemon.py
index 8e297d3..8e297d3 100644
--- a/SCons/Tool/ninja/ninja_scons_daemon.py
+++ b/SCons/Tool/ninja_tool/ninja_scons_daemon.py