|
@@ -0,0 +1,98 @@
|
|
|
+"""
|
|
|
+Adds type hints to SCons scripts. Implemented via
|
|
|
+`from misc.utility.scons_hints import *`.
|
|
|
+
|
|
|
+This is NOT a 1-1 representation of what the defines will represent in an
|
|
|
+SCons build, as proxies are almost always utilized instead. Rather, this is
|
|
|
+a means of tracing back what those proxies are calling to in the first place.
|
|
|
+"""
|
|
|
+
|
|
|
+from typing import TYPE_CHECKING
|
|
|
+
|
|
|
+if TYPE_CHECKING:
|
|
|
+ # ruff: noqa: F401
|
|
|
+ from SCons.Action import Action
|
|
|
+ from SCons.Builder import Builder
|
|
|
+ from SCons.Defaults import Chmod, Copy, CScan, DefaultEnvironment, Delete, DirScanner, Mkdir, Move, Touch
|
|
|
+ from SCons.Environment import Base
|
|
|
+ from SCons.Platform import Platform
|
|
|
+ from SCons.Platform.virtualenv import Virtualenv
|
|
|
+ from SCons.Scanner import FindPathDirs, ScannerBase
|
|
|
+ from SCons.Script import ARGLIST, ARGUMENTS, BUILD_TARGETS, COMMAND_LINE_TARGETS, DEFAULT_TARGETS
|
|
|
+ from SCons.Script.Main import (
|
|
|
+ AddOption,
|
|
|
+ BuildTask,
|
|
|
+ CleanTask,
|
|
|
+ DebugOptions,
|
|
|
+ GetBuildFailures,
|
|
|
+ GetOption,
|
|
|
+ PrintHelp,
|
|
|
+ Progress,
|
|
|
+ QuestionTask,
|
|
|
+ SetOption,
|
|
|
+ ValidateOptions,
|
|
|
+ )
|
|
|
+ from SCons.Script.SConscript import Configure, Return, SConsEnvironment, call_stack
|
|
|
+ from SCons.Script.SConscript import SConsEnvironment as Environment
|
|
|
+ from SCons.Subst import SetAllowableExceptions as AllowSubstExceptions
|
|
|
+ from SCons.Tool import CScanner, DScanner, ProgramScanner, SourceFileScanner, Tool
|
|
|
+ from SCons.Util import AddMethod, WhereIs
|
|
|
+ from SCons.Variables import BoolVariable, EnumVariable, ListVariable, PackageVariable, PathVariable, Variables
|
|
|
+
|
|
|
+ # Global functions
|
|
|
+ GetSConsVersion = SConsEnvironment.GetSConsVersion
|
|
|
+ EnsurePythonVersion = SConsEnvironment.EnsurePythonVersion
|
|
|
+ EnsureSConsVersion = SConsEnvironment.EnsureSConsVersion
|
|
|
+ Exit = SConsEnvironment.Exit
|
|
|
+ GetLaunchDir = SConsEnvironment.GetLaunchDir
|
|
|
+ SConscriptChdir = SConsEnvironment.SConscriptChdir
|
|
|
+
|
|
|
+ # SConsEnvironment functions
|
|
|
+ Default = SConsEnvironment(DefaultEnvironment()).Default
|
|
|
+ Export = SConsEnvironment(DefaultEnvironment()).Export
|
|
|
+ Help = SConsEnvironment(DefaultEnvironment()).Help
|
|
|
+ Import = SConsEnvironment(DefaultEnvironment()).Import
|
|
|
+ SConscript = SConsEnvironment(DefaultEnvironment()).SConscript
|
|
|
+
|
|
|
+ # Environment functions
|
|
|
+ AddPostAction = DefaultEnvironment().AddPostAction
|
|
|
+ AddPreAction = DefaultEnvironment().AddPreAction
|
|
|
+ Alias = DefaultEnvironment().Alias
|
|
|
+ AlwaysBuild = DefaultEnvironment().AlwaysBuild
|
|
|
+ CacheDir = DefaultEnvironment().CacheDir
|
|
|
+ Clean = DefaultEnvironment().Clean
|
|
|
+ Command = DefaultEnvironment().Command
|
|
|
+ Decider = DefaultEnvironment().Decider
|
|
|
+ Depends = DefaultEnvironment().Depends
|
|
|
+ Dir = DefaultEnvironment().Dir
|
|
|
+ Entry = DefaultEnvironment().Entry
|
|
|
+ Execute = DefaultEnvironment().Execute
|
|
|
+ File = DefaultEnvironment().File
|
|
|
+ FindFile = DefaultEnvironment().FindFile
|
|
|
+ FindInstalledFiles = DefaultEnvironment().FindInstalledFiles
|
|
|
+ FindSourceFiles = DefaultEnvironment().FindSourceFiles
|
|
|
+ Flatten = DefaultEnvironment().Flatten
|
|
|
+ GetBuildPath = DefaultEnvironment().GetBuildPath
|
|
|
+ Glob = DefaultEnvironment().Glob
|
|
|
+ Ignore = DefaultEnvironment().Ignore
|
|
|
+ Install = DefaultEnvironment().Install
|
|
|
+ InstallAs = DefaultEnvironment().InstallAs
|
|
|
+ InstallVersionedLib = DefaultEnvironment().InstallVersionedLib
|
|
|
+ Literal = DefaultEnvironment().Literal
|
|
|
+ Local = DefaultEnvironment().Local
|
|
|
+ NoCache = DefaultEnvironment().NoCache
|
|
|
+ NoClean = DefaultEnvironment().NoClean
|
|
|
+ ParseDepends = DefaultEnvironment().ParseDepends
|
|
|
+ Precious = DefaultEnvironment().Precious
|
|
|
+ PyPackageDir = DefaultEnvironment().PyPackageDir
|
|
|
+ Repository = DefaultEnvironment().Repository
|
|
|
+ Requires = DefaultEnvironment().Requires
|
|
|
+ SConsignFile = DefaultEnvironment().SConsignFile
|
|
|
+ SideEffect = DefaultEnvironment().SideEffect
|
|
|
+ Split = DefaultEnvironment().Split
|
|
|
+ Tag = DefaultEnvironment().Tag
|
|
|
+ Value = DefaultEnvironment().Value
|
|
|
+ VariantDir = DefaultEnvironment().VariantDir
|
|
|
+
|
|
|
+ env: SConsEnvironment
|
|
|
+ env_modules: SConsEnvironment
|