99 lines
4 KiB
Python
99 lines
4 KiB
Python
|
"""
|
||
|
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
|