+
    SBi+                    L    R t ^ RIHt ^ RIt^ RIt^ RIHt  ! R R4      tR tR# )zmdistutils.extension

Provides the Extension class, used to describe C/C++ extension
modules in setup scripts.)annotationsN)Iterablec                  0    ] tR t^tRtRR R lltR tRtR# )	Extensiona  Just a collection of attributes that describes an extension
module and everything needed to build it (hopefully in a portable
way, but there are hooks that let you be as unportable as you need).

Instance attributes:
  name : string
    the full name of the extension, including any packages -- ie.
    *not* a filename or pathname, but Python dotted name
  sources : Iterable[string | os.PathLike]
    iterable of source filenames (except strings, which could be misinterpreted
    as a single filename), relative to the distribution root (where the setup
    script lives), in Unix form (slash-separated) for portability. Can be any
    non-string iterable (list, tuple, set, etc.) containing strings or
    PathLike objects. Source files may be C, C++, SWIG (.i), platform-specific
    resource files, or whatever else is recognized by the "build_ext" command
    as source for a Python extension.
  include_dirs : [string]
    list of directories to search for C/C++ header files (in Unix
    form for portability)
  define_macros : [(name : string, value : string|None)]
    list of macros to define; each macro is defined using a 2-tuple,
    where 'value' is either the string to define it to or None to
    define it without a particular value (equivalent of "#define
    FOO" in source or -DFOO on Unix C compiler command line)
  undef_macros : [string]
    list of macros to undefine explicitly
  library_dirs : [string]
    list of directories to search for C/C++ libraries at link time
  libraries : [string]
    list of library names (not filenames or paths) to link against
  runtime_library_dirs : [string]
    list of directories to search for C/C++ libraries at run time
    (for shared extensions, this is when the extension is loaded)
  extra_objects : [string]
    list of extra files to link with (eg. object files not implied
    by 'sources', static library that must be explicitly specified,
    binary resource files, etc.)
  extra_compile_args : [string]
    any extra platform- and compiler-specific information to use
    when compiling the source files in 'sources'.  For platforms and
    compilers where "command line" makes sense, this is typically a
    list of command-line arguments, but for other platforms it could
    be anything.
  extra_link_args : [string]
    any extra platform- and compiler-specific information to use
    when linking object files together to create the extension (or
    to create a new static Python interpreter).  Similar
    interpretation as for 'extra_compile_args'.
  export_symbols : [string]
    list of symbols to be exported from a shared extension.  Not
    used on all platforms, and not generally necessary for Python
    extensions, which typically export exactly one symbol: "init" +
    extension_name.
  swig_opts : [string]
    any extra options to pass to SWIG if a source file has the .i
    extension.
  depends : [string]
    list of files that the extension depends on
  language : string
    extension language (i.e. "c", "c++", "objc"). Will be detected
    from the source extensions if not provided.
  optional : boolean
    specifies that a build failure in the extension should not abort the
    build process, but simply not install the failing extension.
Nc                X    V ^8  d   QhRRRRRRRRR	RR
RRRRRRRRRRRRRRRRRRRRR/# )   namestrsourcesz Iterable[str | os.PathLike[str]]include_dirszlist[str] | Nonedefine_macrosz#list[tuple[str, str | None]] | Noneundef_macroslibrary_dirs	librariesruntime_library_dirsextra_objectsextra_compile_argsextra_link_argsexport_symbols	swig_optsdependslanguagez
str | Noneoptionalzbool | None )formats   "D/usr/lib/python3.14/site-packages/setuptools/_distutils/extension.py__annotate__Extension.__annotate__\   s     : :: 2: '	:
 ;: ': ': $: /: (: -: *: ): $: ":  !:" #:    c                	   \        V\        4      '       g   \        R 4      h\        V\        4      '       d   \        R4      h \        \	        \
        P                  V4      4      V n        Yn        T;'       g    . T n	        T;'       g    . T n
        T;'       g    . T n        T;'       g    . T n        T;'       g    . T n        T;'       g    . T n        T	;'       g    . T n        T
;'       g    . T n        T;'       g    . T n        T;'       g    . T n        T;'       g    . T n        T;'       g    . T n        Yn        TT n        \/        T4      ^ 8  dR   T Uu. uF  p\1        T4      NK  	  ppRP3                  \5        T4      4      pRT 2p\6        P8                  ! T4       R# R#   \         d    \        R4      hi ; iu upi )z'name' must be a stringzJ'sources' must be an iterable of strings or PathLike objects, not a stringz<'sources' must be an iterable of strings or PathLike objectsz, zUnknown Extension options: N)
isinstancer	   	TypeErrorlistmaposfspathr
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   lenreprjoinsortedwarningswarn)selfr   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   kwoptionoptionsmsgs   &&&&&&&&&&&&&&&&&,   r   __init__Extension.__init__\   s   ( $$$566 gs##\ 
	BIIw 78DL 	(..B*00b(..B(..B"b$8$>$>B!*00b"4":":.44",22"b}}"   r7Q;245"tF|"G5iiw0G/y9CMM#	 -  	N 	. 6s   (F. G.Gc           
     	    R V P                   P                   RV P                   P                   RV P                  : R\	        V 4      R R2	# )<.(z) at z#x>)	__class__
__module____qualname__r   id)r,   s   &r   __repr__Extension.__repr__   sJ    4>>,,-Qt~~/J/J.K1TYYMY^_abf_ghj^kklmmr   )r   r   r   r   r   r   r   r   r   r   r   r   r   r
   r   r   )NNNNNNNNNNNNNN)__name__r9   r:   __firstlineno____doc__r1   r<   __static_attributes__r   r   r   r   r      s    @H:xnr   r   c           	         ^ RI HpHpHp ^ RIHp ^ RIHp V! V 4      pV! V RRRRRR7      p . p VP                  4       p	V	f   EMVP                  V	4      '       d   K0  V	^ ,          V	R,          u;8X  d   R8X  d   M MVP                  RV	 R	24       Kg  V! W4      p	V! V	4      p
V
^ ,          p\        V. 4      pRpV
R
,           EFy  pVe   VP                  V4       RpK  \        P                  P                  V4      ^,          pVR,          pVR,          pVR9   d   VP                   P                  V4       Ky  VR8X  d   VP"                  P                  V4       K  VR8X  de   VP%                  R4      pVR8X  d    VP&                  P                  VR34       K  VP&                  P                  V^ V VV^,           R 34       EK  VR8X  d   VP(                  P                  V4       EK-  VR8X  d   VP*                  P                  V4       EKR  VR8X  d   VP,                  P                  V4       EKw  VR8X  d   VP.                  P                  V4       EK  VR8X  d   VP0                  P                  V4       EK  VR8X  d   VP0                  pEK  VR8X  d   VP2                  pEK  VR8X  d   VP*                  pEK  VR8X  d6   VP2                  P                  V4       V'       g   VP2                  pEK<  EK?  VR9   d   VP4                  P                  V4       EKd  VP                  RV R24       EK|  	  VP                  V4       EK)  VP7                  4        V#   TP7                  4        i ; i)z3Reads a Setup file and returns Extension instances.)_variable_rxexpand_makefile_varsparse_makefile)TextFile)split_quotedT)strip_commentsskip_blanks
join_lines	lstrip_ws	rstrip_wsN*'z' lines not handled yet:   NN:    r   N:r   NNz-Iz-D=z-Uz-Cz-lz-Lz-Rz-rpathz-Xlinkerz
-Xcompilerz-uzunrecognized argument ')z.cz.ccz.cppz.cxxz.c++z.mz.mm)z.az.soz.slz.oz.dylib)distutils.sysconfigrC   rD   rE   distutils.text_filerF   distutils.utilrG   readlinematchr+   r   appendr$   pathsplitextr
   r   findr   r   r   r   r   r   r   r   close)filenamerC   rD   rE   rF   rG   varsfile
extensionslinewordsmoduleextappend_next_wordwordsuffixswitchvalueequalss   &                  r   read_setup_filerk      s   VV,+ (#D DQ
==?D|!!$''Aw$r()c)		AdV#:;<'3D &E 1XFFB'C#b		#/$++D1'+$))$/2cROO KK&&t,t^$$++E2t^"ZZ_F|))00%?))00%&/5RSCV1WXt^$$++E2t^**11$7t^MM((/t^$$++E2t^,,33E:X%'*'?'?$Z''*':':$\)'*'='=$t^''..t4 +.+>+>( !CC
 %%,,T2II 7vQ?@e "h c"

 	

s   /M+ JM+ 4A%M+ +M=)	r@   
__future__r   r$   r*   collections.abcr   r   rk   r   r   r   <module>rn      s-   
 # 	  $Bn BnJfr   