@ -35,7 +35,10 @@ if T.TYPE_CHECKING:
from . . compilers . compilers import Compiler
from . . compilers . compilers import Compiler
from . . environment import Environment
from . . environment import Environment
from . . interpreterbase import FeatureCheckBase
from . . interpreterbase import FeatureCheckBase
from . . build import BuildTarget , CustomTarget , IncludeDirs
from . . build import (
CustomTarget , IncludeDirs , CustomTargetIndex , SharedLibrary ,
StaticLibrary
)
from . . mesonlib import FileOrString
from . . mesonlib import FileOrString
@ -232,9 +235,9 @@ class Dependency(HoldableObject):
class InternalDependency ( Dependency ) :
class InternalDependency ( Dependency ) :
def __init__ ( self , version : str , incdirs : T . List [ ' IncludeDirs ' ] , compile_args : T . List [ str ] ,
def __init__ ( self , version : str , incdirs : T . List [ ' IncludeDirs ' ] , compile_args : T . List [ str ] ,
link_args : T . List [ str ] ,
link_args : T . List [ str ] ,
libraries : T . List [ T . Union [ ' BuildTarget ' , ' CustomTarget ' ] ] ,
libraries : T . List [ T . Union [ SharedLibrary , StaticLibrary , CustomTarget , CustomTargetIndex ] ] ,
whole_libraries : T . List [ T . Union [ ' BuildTarget ' , ' CustomTarget ' ] ] ,
whole_libraries : T . List [ T . Union [ StaticLibrary , CustomTarget , CustomTargetIndex ] ] ,
sources : T . Sequence [ T . Union [ ' FileOrString' , ' CustomTarget' , StructuredSources ] ] ,
sources : T . Sequence [ T . Union [ FileOrString , CustomTarget , StructuredSources ] ] ,
ext_deps : T . List [ Dependency ] , variables : T . Dict [ str , str ] ,
ext_deps : T . List [ Dependency ] , variables : T . Dict [ str , str ] ,
d_module_versions : T . List [ str ] , d_import_dirs : T . List [ ' IncludeDirs ' ] ) :
d_module_versions : T . List [ str ] , d_import_dirs : T . List [ ' IncludeDirs ' ] ) :
super ( ) . __init__ ( DependencyTypeName ( ' internal ' ) , { } )
super ( ) . __init__ ( DependencyTypeName ( ' internal ' ) , { } )
@ -333,9 +336,10 @@ class ExternalDependency(Dependency, HasNativeKwarg):
self . name = type_name # default
self . name = type_name # default
self . is_found = False
self . is_found = False
self . language = language
self . language = language
self . version_reqs = kwargs . get ( ' version ' , None )
version_reqs = kwargs . get ( ' version ' , None )
if isinstance ( self . version_reqs , str ) :
if isinstance ( version_reqs , str ) :
self . version_reqs = [ self . version_reqs ]
version_reqs = [ version_reqs ]
self . version_reqs : T . Optional [ T . List [ str ] ] = version_reqs
self . required = kwargs . get ( ' required ' , True )
self . required = kwargs . get ( ' required ' , True )
self . silent = kwargs . get ( ' silent ' , False )
self . silent = kwargs . get ( ' silent ' , False )
self . static = kwargs . get ( ' static ' , self . env . coredata . get_option ( OptionKey ( ' prefer_static ' ) ) )
self . static = kwargs . get ( ' static ' , self . env . coredata . get_option ( OptionKey ( ' prefer_static ' ) ) )