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