+
    UBij                    r  a  0 t $ ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	t	^ RI
t^RIHtHt ^RIHt ^RIHt ^R	IHt ^R
IHt ^RIHt ^RIHt ^RIHt ^RIHtHt ^RIHtHtHtHt ^RIH t H!t! ^RI"H#t#H$t$H%t%H&t& ]PN                  '       dm   ^ RI(H)t) ^RIH*t* ^RIH+t+ ^RI,H-t- ]P\                  ]P^                  ]P`                  ]13,          t2]P\                  ]Pf                  ]13,          t4 ! R R])4      t5]$! R]#! ]6]1]P^                  ]Pn                  ]Pp                  ]Pr                  ]Pt                  34      . RR7      t;R]<R&   ]$! R]#! ]6]1]Pn                  ]Pp                  ]P^                  34      . RR7      t=R]<R&   R  R! lt>] ! R" R#4      4       t? ! R$ R%4      t@ ! R& R']4      tAR( R) ltBR# )*    )annotations)defaultdict)	dataclass)PurePathN)NewExtensionModule
ModuleInfo)ModuleReturnValue)build)dependencies)mesonlib)	OptionKey)mlog)BUILTIN_DIR_OPTIONS)PkgConfigDependencyPkgConfigInterface)D_MODULE_VERSIONS_KWINSTALL_DIR_KWVARIABLES_KWNoneType)
FeatureNewFeatureDeprecated)ContainerTypeInfo	KwargInfotyped_kwargstyped_pos_args)	TypedDict)ModuleState)mparser)Interpreterc                      ] tR t^"t$ 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&   R]R&   R]R&   R]R&   R]R&   RtR# )
GenerateKwT.Optional[str]versionnamefilebasedescriptionstrurllicenseT.List[str]subdirs	conflictsbooldataonlyT.List[ANY_DEP]	librarieslibraries_privateWT.List[T.Union[str, build.StaticLibrary, build.SharedLibrary, dependencies.Dependency]]requiresrequires_privateinstall_dirzT.List[T.Union[str, int]]d_module_versionsextra_cflagsT.Dict[str, str]	variablesuninstalled_variablesunescaped_variablesunescaped_uninstalled_variables N)__name__
__module____qualname____firstlineno____annotations____static_attributes__r=       A/usr/lib/python3.14/site-packages/mesonbuild/modules/pkgconfig.pyr!   r!   "   sw      !!$$""**iiqq$$44!!##//--)99rD   r!   r0   TdefaultlistifyzKwargInfo[T.List[T.Union[str, dependencies.Dependency, build.SharedLibrary, build.StaticLibrary, build.CustomTarget, build.CustomTargetIndex]]]_PKG_LIBRARIESr3   zbKwargInfo[T.List[T.Union[str, build.SharedLibrary, build.StaticLibrary, dependencies.Dependency]]]_PKG_REQUIRESc                    V ^8  d   QhRRRR/# )   objobjectreturnr'   r=   )formats   "rE   __annotate__rQ   K   s       C rD   c                6    \        V \        4      '       g   Q hV # N)
isinstancer'   )rM   s   &rE   _as_strrU   K   s    c3JrD   c                  D    ] tR t^Pt$ R]R&   R]R&   R]R&   RtR]R&   R	tR
# )MetaDatar'   r%   display_namezmparser.BaseNodelocationFr-   warnedr=   N)r>   r?   r@   rA   rB   rZ   rC   r=   rD   rE   rW   rW   P   s     MFDrD   rW   c                      ] tR t^YtR R ltR R ltR R ltR R ltR	 R
 ltR R lt	R R lt
R R ltR%R R lltR R ltR&R R lltR R ltR R ltR R ltR R ltR  R! ltR" R# ltR$tR# )'DependenciesHelperc               (    V ^8  d   QhRRRRRRRR/# )	rL   stater   r$   r'   metadatazT.Dict[str, MetaData]rO   Noner=   )rP   s   "rE   rQ   DependenciesHelper.__annotate__Z   s0     S Sk S S@U SZ^ SrD   c                	    Wn         W n        W0n        . V n        . V n        . V n        . V n        . V n        \        \        4      V n
        . V n        \        P                  ! 4       V n        R # rS   )r^   r$   r_   pub_libspub_reqs	priv_libs	priv_reqscflagsr   setversion_reqslink_whole_targetsr   
OrderedSetuninstalled_incdirs)selfr^   r$   r_   s   &&&&rE   __init__DependenciesHelper.__init__Z   sZ    
	 &(%'')&(#%<G<Luw=E=P=P=R rD   c                    V ^8  d   QhRRRR/# rL   libsr/   rO   r`   r=   )rP   s   "rE   rQ   ra   g   s       T rD   c                	    V P                  VR 4      w  r#pW P                  ,           V n        V ;P                  V,          un        V ;P                  V,          un        R# )TN)_process_libsrc   rd   rg   )rm   rr   p_libsreqsrg   s   &&   rE   add_pub_libsDependenciesHelper.add_pub_libsg   sC    #11$=f.vrD   c                    V ^8  d   QhRRRR/# rq   r=   )rP   s   "rE   rQ   ra   m   s      / d rD   c                	    V P                  VR 4      w  r#pW P                  ,           V n        V ;P                  V,          un        R# )FN)rt   re   rf   )rm   rr   ru   rv   _s   &&   rE   add_priv_libs DependenciesHelper.add_priv_libsm   s4    ,,T59a..0$rD   c                    V ^8  d   QhRRRR/# rL   rv   r2   rO   r`   r=   )rP   s   "rE   rQ   ra   r   s      2 2!x 2  ~B 2rD   c                	V    V ;P                   V P                  V4      ,          un         R # rS   )rd   _process_reqsrm   rv   s   &&rE   add_pub_reqsDependenciesHelper.add_pub_reqsr   s    ++D11rD   c                    V ^8  d   QhRRRR/# r   r=   )rP   s   "rE   rQ   ra   u   s      3 3"y 3  C 3rD   c                	V    V ;P                   V P                  V4      ,          un         R # rS   )rf   r   r   s   &&rE   add_priv_reqs DependenciesHelper.add_priv_reqsu   s    $,,T22rD   c                    V ^8  d   QhRRRR/# )rL   rM   z^T.Union[build.CustomTarget, build.CustomTargetIndex, build.StaticLibrary, build.SharedLibrary]rO   r`   r=   )rP   s   "rE   rQ   ra   x   s#        4R   W[ rD   c           
     	   VP                  4       V P                  9   d   R # V P                  VP                  4       ,          pVP                  '       d   R # \        P                  ! R\        P
                  ! VP                  4      RR\        P
                  ! VP                  4      RVP                  R7       RVn        R # )NLibraryz|was passed to the "libraries" keyword argument of a previous call to generate() method instead of first positional argument.Addingzto "Requires" field, but this is a deprecated behaviour that will change in version 2.0 of Meson. Please report the issue if this warning cannot be avoided in your case.rY   T)	get_idr_   rZ   r   deprecationboldr$   rX   rY   )rm   rM   datas   && rE   _check_generated_pc_deprecation2DependenciesHelper._check_generated_pc_deprecationx   s    ::<4==(}}SZZ\*;;;DIIchh$7 :% '/		$:K:K0LC #'--	1 rD   c                    V ^8  d   QhRRRR/# )rL   rv   z[T.Sequence[T.Union[str, build.StaticLibrary, build.SharedLibrary, dependencies.Dependency]]rO   r*   r=   )rP   s   "rE   rQ   ra      s      ( ("} (  CN (rD   c                  a  . p\         P                  ! V4       EF  p\        V\        4      '       g-   \        P
                  ! RRS P                  P                  4       \        V\        P                  \        P                  \        P                  \        P                  34      '       dn   VP                  4       S P                  9   dO   S P                  V4       VP!                  S P                  VP                  4       ,          P"                  4       EK  \        V\$        4      '       d^   VP'                  4       '       dE   VP!                  VP(                  4       S P+                  VP(                  VP,                  4       EKq  EKt  \        V\        4      '       dG   S P/                  V4      w  rEVf   EK  VP!                  V4       S P+                  YEe   V.MR4       EK  \        V\0        P2                  4      '       d   VP'                  4       '       g   EK	  \        V\0        P4                  4      '       d   VP(                  R8X  d   EK=  \        V\0        P6                  4      '       EdO   \8        ;QJ d)    V 3R lVP:                   4       F  '       d   K   RM	  RM! V 3R lVP:                   4       4      '       d   \        P
                  ! RR	S P                  P                  S P                  P<                  R
7       S P>                  '       dE   \        S P>                  ^ ,          \        P                  4      '       d   VPA                  RR7      pMVPC                  RR7      pVP:                   F=  pVP!                  S P                  VP                  4       ,          P"                  4       K?  	  EK  \         PD                  ! RV: 24      h	  V# )z$Returns string names of requirementsz5pkgconfig.generate requirement from non-string object0.46.0Nthreadsc              3  \   <"   T F!  qP                  4       SP                  9   x  K#  	  R # 5irS   )r   r_   ).0librm   s   & rE   	<genexpr>3DependenciesHelper._process_reqs.<locals>.<genexpr>   s0       JB  tAlo**,Z^ZgZgJg  tAs   ),FTz7pkgconfig.generate requirement from internal dependency1.9.0r   	recursivezrequires argument not a string, library with pkgconfig-generated file, pkgconfig-dependency object, or internal-dependency object with pkgconfig-generated file, got )#r   rH   rT   r'   r   
single_user^   
subprojectr
   CustomTargetCustomTargetIndexSharedLibraryStaticLibraryr   r_   r   appendr%   r   foundr$   add_version_reqsri   split_version_reqr   
DependencyExternalDependencyInternalDependencyallr0   current_noderc   get_as_staticget_as_sharedMesonException)rm   rv   processed_reqsrM   r$   version_reqr   s   f&     rE   r    DependenciesHelper._process_reqs   s   &(##D)Cc3''%%&]_gimisisi~i~3!3!3U5L5LeNaNachcvcv wxx

544S9%%dmmCJJL&A&J&JKC!45599;;"))#((3))#((C4D4DE  C%%$($:$:3$?!<%%d+%%d=T[MZ^_C!8!899#))++C!@!@AAchhR[F[C!@!@AAcc  JBsv  tA  tA  JBccc  JBsv  tA  tA  JB  GB  GB%%&_ah&*jj&;&;djjF]F]_ ===Za0@%BUBU%V%V++d+;C++d+;C==C"))$--

*E*N*NO ) -- /O PSg	/W X XA *J rD   c                    V ^8  d   QhRRRR/# )rL   rg   r*   rO   r`   r=   )rP   s   "rE   rQ   ra      s     6 6 6 6rD   c                	`    V ;P                   \        P                  ! V4      ,          un         R # rS   )rg   r   stringlistify)rm   rg   s   &&rE   
add_cflagsDependenciesHelper.add_cflags   s    x--f55rD   Nc               $    V ^8  d   QhRRRRRR/# )rL   incdirszT.List[build.IncludeDirs]subdirr"   rO   r`   r=   )rP   s   "rE   rQ   ra      s$     1 10I 1Sb 1nr 1rD   c                	   V Fd  pVP                  4       pVP                  4        F=  p\        P                  P	                  WE4      pV P
                  P                  V4       K?  	  Kf  	  Ve   V P
                  P                  V4       R # R # rS   )
get_curdirget_incdirsospathjoinrl   add)rm   r   r   icurdirdr   s   &&&    rE   _add_uninstalled_incdirs+DependenciesHelper._add_uninstalled_incdirs   sn    A\\^F]]_ww||F.((,,T2 % 
 $$((0 rD   c               $    V ^8  d   QhRRRRRR/# )rL   rr   r/   publicr-   rO   zT.Tuple[T.List[T.Union[str, build.SharedLibrary, build.StaticLibrary, build.CustomTarget, build.CustomTargetIndex]], T.List[str], T.List[str]]r=   )rP   s   "rE   rQ   ra      s1     B@ B@'B@15B@ `B@rD   c           
     	
   \         P                  ! V4      p. p. p. pV EFC  p\        V\        P                  \        P
                  \        P                  \        P                  34      '       dm   VP                  4       V P                  9   dN   V P                  V4       VP                  V P                  VP                  4       ,          P                  4       K  \        V\        P                  4      '       d   VP                  R 8X  d   K  \        V\         4      '       d^   VP#                  4       '       dE   VP                  VP                  4       V P%                  VP                  VP&                  4       EKa  EKd  \        V\        P(                  4      '       Ed-   VP#                  4       '       Ed   VP*                  '       d   \         P,                  ! R4      hV P.                  '       dE   \        V P.                  ^ ,          \        P                  4      '       d   VP1                  RR7      pMVP3                  RR7      pW6P5                  4       ,          pWVP7                  4       ,          pV P9                  VP:                  VP<                  VP>                  VRR7       V PA                  VPC                  4       4       EK  EK  \        V\        PD                  4      '       dI   VP#                  4       '       d0   W6P5                  4       ,          pWVP7                  4       ,          pEK  EK  \        V\        P                  4      '       dU   VPF                  '       dC   VP                  V4       V PA                  VPC                  4       VPI                  4       4       EK  \        V\        P                  \        P                  34      '       d   VP                  V4       V PA                  VPC                  4       VPI                  4       4       T P9                  VPJ                  VPL                  VPN                  \        V\        P                  4      ;'       d    T4       EKS  \        V\        P                  \        P
                  34      '       dm   VPQ                  4       '       g   \         P,                  ! R4      h\R        PT                  ! RRV PV                  PX                  4       VP                  V4       EK  \        V\Z        4      '       d   VP                  V4       EK  \         P,                  ! R\]        V4      P^                   R	24      h	  W4V3# )
valgrindz1.pc file cannot refer to individual object files.Tr   )private_external_depsz7library argument contains a not linkable custom_target.z-custom_target in pkgconfig.generate librariesz0.58.0zlibrary argument of type z, not a string, library or dependency object.)0r   rH   rT   r
   r   r   r   r   r   r_   r   r   r%   r   r   r$   r   r   r   ri   r   objectsr   rc   r   r   get_link_argsget_compile_args_add_lib_dependenciesr0   whole_librariesext_depsr   get_include_dirsr   shared_library_only
get_subdirlink_targetsrj   external_depsis_linkable_targetr   r   r^   r   r'   typer>   )rm   rr   r   processed_libsr   processed_cflagsrM   s   &&&    rE   rt    DependenciesHelper._process_libs   s     % GI&((*C3!3!3U5L5LeNaNachcvcv wxx

544S9%%dmmCJJL&A&J&JKC!@!@AAchhR\F\C!45599;;"))#((3))#((C4D4DE  C!@!@AA99;;{{{&556ijj }}}DMM!4DeFYFY)Z)Z!//$/?!//$/?"&7&7&99N$(<(<(>>$..s}}c>Q>QSVS_S_ag  @D.  E11#2F2F2HI  C!8!89999;;"&7&7&99N$(<(<(>>$  C!4!455#:Q:Q:Q %%c*--c.B.B.DcnnFVWC%"5"5u7J7J!KLL%%c*--c.B.B.DcnnFVW **3+;+;+.+A+A+.+<+<+5c5;N;N+O+Z+ZTZ\ C%"4"4e6M6M!NOO--//"112kll%%&UW_aeakakavavw%%c*C%%%%c*--0I$s)J\J\I]  ^J  /K  L  Ls v /???rD   c               0    V ^8  d   QhRRRRRRRRR	RR
R/# )rL   r   z"T.Sequence[build.BuildTargetTypes]rj   zUT.Sequence[T.Union[build.StaticLibrary, build.CustomTarget, build.CustomTargetIndex]]r   zT.List[dependencies.Dependency]r   r-   r   rO   r`   r=   )rP   s   "rE   rQ   ra     sD     ? ? B? u? ;? 	?
 $(?
 59?rD   c                	   V'       d   V P                   MV P                  pV F{  pVP                  4       '       dZ   \        V\        P
                  \        P                  \        P                  34      '       g   Q R 4       hV P                  Wt4       Kr  V! V.4       K}  	  V F  pV P                  Wt4       K  	  V'       d)   V P                  \        P                  ! RV4      4       R# V! \        P                  ! RV4      4       R# )for mypyr/   N)rw   r|   is_internalrT   r
   r   r   r   _add_link_wholeTcast)rm   r   rj   r   r   r   add_libsts   &&&&&&  rE   r   (DependenciesHelper._add_lib_dependencies  s     )/4$$D4F4FA }} "!e&9&95;M;MuOfOf%ghhtjtth$$Q/!  $A  + $ !qvv&7GHQVV-}=>rD   c               $    V ^8  d   QhRRRRRR/# )rL   r   zIT.Union[build.CustomTarget, build.CustomTargetIndex, build.StaticLibrary]r   r-   rO   r`   r=   )rP   s   "rE   rQ   ra     s-     	f 	f!j 	ftx 	f  ~B 	frD   c                	    V P                   P                  V4       \        V\        P                  4      '       d5   V P                  VP                  VP                   VP                  V4       R # R # rS   )rj   r   rT   r
   BuildTargetr   r   r   )rm   r   r   s   &&&rE   r   "DependenciesHelper._add_link_whole  sS     	&&q)a**++&&q~~q7K7KQ__^de ,rD   c               $    V ^8  d   QhRRRRRR/# )rL   r$   r'   ri   zT.Optional[T.List[str]]rO   r`   r=   )rP   s   "rE   rQ   ra   (  s#     9 9S 98O 9TX 9rD   c                	^    V'       d%   V P                   V,          P                  V4       R # R # rS   )ri   update)rm   r$   ri   s   &&&rE   r   #DependenciesHelper.add_version_reqs(  s%     d#**<8	 rD   c                    V ^8  d   QhRRRR/# )rL   sr'   rO   z)T.Tuple[T.Optional[str], T.Optional[str]]r=   )rP   s   "rE   rQ   ra   /  s     " "3 "+T "rD   c                	   VP                  4       pV'       g   \        P                  ! R 4       R# R F  pVP                  V4      pV^ 8  d   K  V^ 8X  d   \        P
                  ! RV R24      hV^ V P                  4       W$R P                  4       rRV'       g   \        P
                  ! RV R24      hW%3u # 	  VR3# )zYRequired dependency was found to be an empty string. Did you mean to pass an empty array?Nzrequired versioned dependency "z#" is missing the dependency's name.)NN>=z<=z!=z===><)stripr   warningfindr   r   )rm   r   stripped_stropposr#   s   &&    rE   r   $DependenciesHelper.split_version_req/  s    wwyLLtu9B##B'CQwax--0OPQsRv.wxx$03$7$=$=$?dASAYAYA['--0OPQsRv.wxx(( : T!!rD   c                    V ^8  d   QhRRRR/# )rL   vreqr'   rO   r=   )rP   s   "rE   rQ   ra   @  s        rD   c                	    R F8  pVP                  V4      '       g   K  VR,           V\        V4      R ,           u # 	  V# )r    Nr   )
startswithlen)rm   r   r   s   && rE   format_vreqDependenciesHelper.format_vreq@  s;    9Br""Cx$s2wx.00 : rD   c                    V ^8  d   QhRRRR/# )rL   rv   r*   rO   r'   r=   )rP   s   "rE   rQ   ra   G  s     ! ! ! !rD   c           	     	   . pV Fp  pV P                   P                  VR 4      pV'       dA   T\        V4       Uu. uF!  qSR,           V P                  V4      ,           NK#  	  up,          pKg  W#.,          pKr  	  RP	                  V4      # u upi )Nr  z, )ri   getsortedr  r   )rm   rv   resultr$   vreqsr   s   &&    rE   format_reqsDependenciesHelper.format_reqsG  s     D%%))$5E6RW=Y=4#:(8(8(>>>=YY&   yy   Zs   'B
c                   V ^8  d   QhRR/# rL   rO   r`   r=   )rP   s   "rE   rQ   ra   Q  s     =' ='T ='rD   c                	  a aaa \        4       oR  V 3R lloR VV3R lloS P                   F  pS! V4       K  	  \        P                  RR R ll4       p\        P                  RR R ll4       pRR V3R	 lllpV! S P                  4      S n        V! S P
                  R
4      S n        V! S P                  4      S n        V! S P                  R
4      S n        \        4       oV! S P                  4      S n        R# )c                    V ^8  d   QhRRRR/# )rL   xcT.Union[str, build.CustomTarget, build.CustomTargetIndex, build.StaticLibrary, build.SharedLibrary]rO   T.Iterable[str]r=   )rP   s   "rE   rQ   4DependenciesHelper.remove_dups.<locals>.__annotate__W  s      	! 	!w 	!  }L 	!rD   c              3    <"   \        V \        4      '       d   V x  R # V P                  4       SP                  9   d.   SP                  V P                  4       ,          P                  x  V P                  4       x  R # 5irS   )rT   r'   r   r_   rX   )r  rm   s   &rE   _ids,DependenciesHelper.remove_dups.<locals>._idsW  sQ     !S!!88:.--
3@@@hhj s   A=B c                    V ^8  d   QhRRRR/# )rL   r  r  rO   r-   r=   )rP   s   "rE   rQ   r  `  s      	  	  	   EI 	 rD   c                b   < R pS! V 4       F  pVS9   d   RpK  SP                  V4       K!  	  V# )FT)r   )r  was_excludedr   r  excludes   &  rE   _add_exclude4DependenciesHelper.remove_dups.<locals>._add_exclude`  s5     L!W<#'LKKN	 
  rD   c               $    V ^8  d   QhRRRRRR/# )rL   xsr*   rr   r-   rO   r=   )rP   s   "rE   rQ   r  r  s    HHKHtHHrD   c                    R # rS   r=   r!  rr   s   &&rE   _fn+DependenciesHelper.remove_dups.<locals>._fnq  s    EHrD   c               $    V ^8  d   QhRRRRRR/# )rL   r!  T.List[LIBS]rr   r-   rO   r=   )rP   s   "rE   rQ   r  u  s    JJLJJJrD   c                    R # rS   r=   r#  s   &&rE   r$  r%  t  s    GJrD   c               $    V ^8  d   QhRRRRRR/# )rL   r!  z"T.Union[T.List[str], T.List[LIBS]]rr   r-   rO   r=   )rP   s   "rE   rQ   r  w  s#     	 	6 	d 	Oq 	rD   c                   < . pV  Fs  pR .pT;'       d;    \        V\        4      ;'       d#    VP                  R4      '       * ;'       d    W49  pV'       g   S! V4      '       d   Kb  VP                  V4       Ku  	  V# )z-pthread)-lz-L)rT   r'   r  r   )r!  rr   r  r  known_flagscannot_dedupr  s   &&    rE   r$  r%  w  s    F  *l#  )  )
1c(:  )  )\22 )  )(  $Qa   MrD   TNF)	rh   rj   r   overloadrd   rc   rf   re   rg   )rm   r   r$  r  r  r  s   f  @@@rE   remove_dupsDependenciesHelper.remove_dupsQ  s    !e	! 	!	  	  ((AO ) 
H 
H	
J 
J	 	" DMM*DMM40T^^,T^^T2%$++&rD   )rg   rj   r_   r$   re   rf   rc   rd   r^   rl   ri   rS   r.  )r>   r?   r@   rA   rn   rw   r|   r   r   r   r   r   r   rt   r   r   r   r   r  r  r0  rC   r=   rD   rE   r\   r\   Y   sb    S
23"(T61B@H?4	f9""!=' ='rD   r\   c                     a  ] tR tRt$ ]! R4      tRtR]R&   / tR]R&   R V 3R	 llt	R
 R lt
R R ltR R ltR R ltR>R R llt]! R]P"                  ]P$                  3.R7      ]! R]P*                  ! RR7      ]]! R]! ]]4      . RR7      ]! R]RRR7      ]! R]]34      ]! R ]! ]]4      . RR!R"7      ]! R#]]3R$ R%7      ]! R&]]3R' R%7      ]! R(]! ]]4      . RR7      ]! R)]R*R+7      ]! R,]R*R-R7      ]! R.]]34      ]P*                  ! R/R0R17      ]P*                  ! R2R0R17      ]P*                  ! R3R]R4/R57      ]P*                  ! R6]R4/R77      ]]P+                  R8R97      ] ] P+                  R:R97      4      R; R< l4       4       t!R=t"V ;t## )?PkgConfigModulei  	pkgconfigNz)T.Optional[mesonlib.EnvironmentVariables]devenvz!T.ClassVar[T.Dict[str, MetaData]]	_metadatac                   V ^8  d   QhRR/# r  r=   )rP   s   "rE   rQ   PkgConfigModule.__annotate__  s      $ rD   c                	r   < \         SV `  4        V P                  P                  R V P                  /4       R# )generateN)superrn   methodsr   r:  )rm   	__class__s   &rE   rn   PkgConfigModule.__init__  s.    
 	rD   c                    V ^8  d   QhRRRR/# )rL   bzbuild.BuildrO   r`   r=   )rP   s   "rE   rQ   r8    s     ) ){ )t )rD   c                	p    V P                   e(   VP                   P                  V P                   4       R # R # rS   )r5  r   )rm   r@  s   &&rE   postconf_hookPkgConfigModule.postconf_hook  s%    ;;"HHOODKK( #rD   c               (    V ^8  d   QhRRRRRRRR/# )rL   lz^T.Union[build.SharedLibrary, build.StaticLibrary, build.CustomTarget, build.CustomTargetIndex]msgr'   pcfilerO   r=   )rP   s   "rE   rQ   r8    s,      z %(-0rD   c                	   \        V\        P                  \        P                  34      '       dv   \        P
                  P                  VP                  4       4      p\        P
                  P                  V4      ^ ,          pVP                  R4      '       d
   VR,          pV# VP                  '       g   VP                  # VP                  R8X  d5   VP                  P                  R4      '       d   VP                  R,          # \        V\        P                  4      '       d   VP                  '       d   VP                  # \        P                   ! VP#                  VP                  RVP                  V4      4       VP                  # )r   r   :   NN name_prefix)rT   r
   r   r   r   r   basenameget_filenamesplitextr  name_prefix_setr$   prefixr   import_filenamer   r   rP   )rm   rE  rF  rG  rL  r$   s   &&&&  rE   
_get_lnamePkgConfigModule._get_lname  s   a%1153E3EFGGww''(89H77##H-a0Du%%BxK   66M 88r>aff//6666": a,,--!2C2C2C66M 	SZZqvvvFGvvrD   c                    V ^8  d   QhRRRR/# )rL   valuezT.Union[str, PurePath]rO   r'   r=   )rP   s   "rE   rQ   r8    s     
) 
)3 
) 
)rD   c                r    \        V\        4      '       d   VP                  4       pVP                  RR4      # )zp
We cannot use quote_arg because it quotes with ' and " which does not
work with pkg-config and pkgconf at all.
r  z\ )rT   r   as_posixreplace)rm   rU  s   &&rE   _escapePkgConfigModule._escape  s.     eX&&NN$E}}S%((rD   c               $    V ^8  d   QhRRRRRR/# )rL   rP  zT.Union[PurePath, str]r   rO   r'   r=   )rP   s   "rE   rQ   r8    s$     1 1%; 1E[ 1`c 1rD   c                	    \        V4      p\        V4      p VP                  V4      pR V,          P                  4       #   \         d    Tp L&i ; i)	${prefix})r   relative_to
ValueErrorrW  )rm   rP  r   libdirs   &&& rE   _make_relativePkgConfigModule._make_relative  sW    &!&!	''/F f$..00  	F	s   A   AAFc                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/# )rL   r^   r   depsr\   r+   r*   r$   r'   r&   r(   r#   r)   rG  r,   r9   T.List[T.Tuple[str, str]]r;   uninstalledr-   r.   pkgrootr"   rO   r`   r=   )rP   s   "rE   rQ   r8    s     [E [Ek [EAS [E*5[E=@[E.1[E8;[EFI[E +.[E *-	[E :E	[E
 -F[E 7P[E /3[E GK[E +:[E FJ[ErD   c                	  a aa	aa(a) SP                   P                  4       p\        4       p\        P                  ! 4        Uu. uF  pVP
                  NK  	  ppV'       g:   VR R0,          pVP                  '       g   VP                  '       d   VR0,          pRpRp\        4       p\        4       pW,            F  w  ppVV0,          pVV0,          pK  	  V Fr  pRV R2o(\        ;QJ d    V(3R lV 4       F  '       g   K   RM	  RM! V(3R lV 4       4      '       g   KK  VV9   d   RpKV  V'       g   VR+9  d   RpVR V0,          pKt  	  V'       d/   \        P                  ! RR	SP                  R
SP                  4       V'       d/   \        P                  ! RR	SP                  SP                  R7       S'       d   \        P                  P!                  SP                   P"                  R4      p\        P                  P%                  V4      '       g   \        P&                  ! V4       \)        SP                   P+                  4       4      o)\)        SP                   P-                  4       4      pMSP                   P.                  p\)        \1        VP2                  P5                  \7        R 4      4      4      4      o)V'       d   \)        V4      pVP9                  4       '       g   S)V,          pM9S)VP:                  9  d)   \<        P>                  ! RVPA                  4        R24      h\)        R\        P                  PC                  S)V4      4      o)\        P                  P!                  VS	4      p\E        VRRR7      ;_uu_ 4       pV F  pVVV,
          9   g   K  VR 8X  d2   VPG                  RPI                  S PK                  S)4      4      4       KK  \)        \1        VP2                  P5                  \7        V4      4      4      4      p VPG                  RPI                  VS PK                  RV ,          4      4      4       K  	  S'       d8   V'       g0   VPG                  RPI                  S PK                  X4      4      4       V'       g	   V'       d   VPG                  R4       V F6  w  ppVPG                  RPI                  VS PK                  V4      4      4       K8  	  V F  w  ppVPG                  V RV R24       K  	  VPG                  R4       VPG                  RV R24       V'       d   VPG                  RV R24       V'       d   VPG                  RV R24       V'       d   VPG                  RV R24       VPG                  RV R24       VPM                  VPN                  4      p!V!'       d   VPG                  RV! R24       VPM                  VPP                  4      p!V!'       d   VPG                  R V! R24       V
'       d0   VPG                  R!PI                  R"P!                  V
4      4      4       R# V	V)V VV3R$ llp"VP                  '       d@   VPG                  R%PI                  R"P!                  V"! VP                  4      4      4      4       VP                  '       d@   VPG                  R&PI                  R"P!                  V"! VP                  4      4      4      4       . p#S'       d[   VPR                   FI  p$R, F@  p%S PK                  \)        V%V$4      PA                  4       4      p&V#PU                  R'V& 24       KB  	  KK  	  MSV FM  p$V$R8X  d   V#PU                  R(4       K  V#PU                  S PK                  \)        R(4      V$,          4      4       KO  	  T#VPV                   U'u. uF  p'S PK                  V'4      NK  	  up',          p#V#'       d8   V'       g0   VPG                  R)PI                  R"P!                  V#4      4      4       R*R*R*4       R*# u upi u up'i   + '       g   i     R*# ; i)-rP  
includedirr`  Fz${}c              3  D   <"   T F  qP                  S4      x  K  	  R # 5irS   )r  )r   r  optvars   & rE   r   ;PkgConfigModule._generate_pkgconfig_file.<locals>.<genexpr>  s     <A<<''s    Tz3pkgconfig.generate variable for builtin directoriesz0.62.0z3They will be automatically included when referencedz<pkgconfig.generate implicit variable for builtin directoriesr   zmeson-uninstalledzfPkgconfig prefix cannot be outside of the prefix when pkgconfig.relocatable=true. Pkgconfig prefix is .z${pcfiledir}wzutf-8)encodingz
prefix={}
z{}={}
r]  z
srcdir={}

r   zName: zDescription: zURL: z	License: z	Version: z
Requires: zRequires.private: zConflicts: {}
r  c                    V ^8  d   QhRRRR/# )rL   rr   r'  rO   r  r=   )rP   s   "rE   rQ   >PkgConfigModule._generate_pkgconfig_file.<locals>.__annotate__4  s     $/ $/, $/? $/rD   c           	   3    <"   R p. pV  EFH  p\        V\        4      '       d   Vx  K   S'       d:   \        P                  P	                  SP
                  P                  V4      4      pM#VP                  4       pV'       d
   V^ ,          MRpVRJ d   K  \        V\        P                  4      '       dx   RVP                  9   dg   \        V\        4      '       d=   RP                  S
P                  S
P                  S	V4      4      VP                  4      pM]RVP                  ,          pMI\        V\        4      '       d2   RP                  S
P                  S
P                  S	V4      4      4      pMRpWb9  d   VP                  V4       Vx  S
P!                  W1S4      p\        V\        P                  4      '       dE   VP"                  '       d3   \$        P&                  ! VP                  VP(                  RVS4      4       \        V\        P*                  \        P,                  34      '       g   RVP                  9  g   EKA  R	V 2x  EKK  	  R# 5i)
zxLibrary target {0!r} has {1!r} set. Compilers may not find it from its '-l{2}' linker flag in the {3!r} pkg-config file.NFcsz-r{}/{}z-r${libdir}/%sz-L{}z-L${libdir}name_suffixr+  )rT   r'   r   r   dirnamebackendget_target_filename_absget_custom_install_dirr
   r   	compilersrP   rY  ra  filenamer   rR  name_suffix_setr   r   r$   r   r   )rr   rF  LflagsrE  r5   _iLflaglnamerG  rP  rm   r^   rf  s   &       rE   generate_libs_flagsEPkgConfigModule._generate_pkgconfig_file.<locals>.generate_libs_flags4  s    / A!!S)) '*,''//%--:_:_`a:b*cK!"!9!9!;B35"Q%4K&%/$%a):):;;@S)+s;;(1(8(8dFYFYZ`bmFn9oqrq{q{(|(81::(E)+s;;(.dll4CVCVW]_jCk6l(m(5 ."MM%0"'K $ ? &a):):;;@Q@Q@Q LLAFFM5RX)YZ%a%*<*<e>U>U)VWW[_ghgrgr[r$&ug,.? s   .IAIEIA0IIz	Libs: {}
zLibs.private: {}
z-Iz-I${includedir}zCflags: {}
N>   r`  rP  ri  )r]  z	${srcdir}),environmentget_coredatarh   r   keysr$   rc   re   anyr   r   r   r   r   r   r   r   	build_direxistsmkdirr   get_build_dirget_source_dirscratch_dirrU   optstoreget_value_forr   is_absoluteparentsr   r   rW  relpathopenwriterP   rY  r  rd   rf   rl   r   rg   )*rm   r^   rd  r+   r$   r&   r(   r#   r)   rG  r,   r9   r;   rf  r.   rg  coredatareferenced_varsr  optnamesimplicit_vars_warningredundant_vars_warningvarnames
varstringskvoptnameoutdirsrcdirpkgroot_fnameofiledirpathreqs_strr  rg   r   basedirr   frl  rP  s*   ff&&&&&&&f&&&f&&                        @@rE   _generate_pkgconfig_file(PkgConfigModule._generate_pkgconfig_file  sc    $$113%$7$<$<$>?$>qAFF$>? ,77O}}}H:- %!&5U
33DAqOH1#J 4  G7)2&Fs<<sss<<<<h&-1*  72T#T04-#''::O   "(()^`h).)9)9;p).););= !!!"`bj"'"2"2U=O=OQ WW\\%"3"3"="=?RSF77>>&)) e//==?@Fe//>>@AF&&22Fgh&7&7&E&EiPXFY&Z[\F#G,++--%/H8#3#33"11 3IIQIZIZI\H]]^3` a a "."''//&(2STVV,%w//5#o88(*M$8$8f9M$NO"*783D3D3R3RS\]dSe3f+g"hI$4$4Wdll;Y`K`>a$bc $ 8M00f1EFG/D!!1I,,QQ@A "+1qc1#RL) ,KKKK&b)*mK=;<eC5O,iy34KK)G9B/0''6Hj
"56''7H0
"=>-44SXXi5HIJ$/ $/L }}}L//9LT]]9[0\]^~~~077ATUYUcUcAd8efg"$F11A#=#||HWa,@,I,I,KL4&k2 $> 2
 !ACx&78dll8<M3NQR3R&ST	 !
 <1t||A<<FhN11#((62BCDw 0/k @\ =s 0//s   `*`4(B0`4`4!6`4`4 B`4>`4`48A`47`4=`4A`4(A`49A`4B<`4>`/
`4)`41/`4/`44a	zpkgconfig.generate)optargsz0.43.0)sincer,   TrF   r.   z0.54.0)rG   r  r&   r7   z0.42.0)rG   rH   r  r%   c                	    V R 8X  d   R# R# rJ  zmust not be an empty stringNr=   r  s   &rE   <lambda>PkgConfigModule.<lambda>x  s    deikdkC`CuquCurD   )	validatorr$   c                	    V R 8X  d   R# R# r  r=   r  s   &rE   r  r  y  s    `aeg`g?\?qmq?qrD   r+   r(   rJ  )rG   r)   r   r#   r<   z0.59.0)r$   r  r;   r:   z0.56.0)r$   r  since_valuesz0.41.0)r  r  r1   )r$   r4   c               (    V ^8  d   QhRRRRRRRR/# )	rL   r^   r   argszFT.Tuple[T.Optional[T.Union[build.SharedLibrary, build.StaticLibrary]]]kwargsr!   rO   r	   r=   )rP   s   "rE   rQ   r8    s1     A- A-k A-]A-#A-(9A-rD   c                	  aaa# SP                   pR pR pR pR pR.p	V^ ,          '       d   \        P                  ! RRSP                  4       V^ ,          pVP                  pSP
                  R,           VP                  ,           pVP                  4       p
V
'       dE   \        V
^ ,          \        4      '       d(   \        P                  P                  V
^ ,          R4      pMSR,          f#   \        P                  ! RRSP                  4       RpSR	,          f&   \        P                  ! VP                  R	4      4      hSR
,          f&   \        P                  ! VP                  R
4      4      hSR,          o#S#'       d   . p	. R8Op\        ;QJ d    V3R lV 4       F  '       g   K   RM	  RM! V3R lV 4       4      '       d   \         P"                  ! RV 24      h\        P                  P                  SP$                  P'                  4       R4      pSR,          ;'       g    T	pSR,          e
   SR,          MTpSR	,          e
   SR	,          MTp\        V\        4      '       g   Q R4       hSR,          e
   SR,          MTpSR
,          e
   SR
,          MTpSR,          pSR,          pSR,          pSR,          P)                  4       pV'       d   VP+                  ^ V4       \-        SVV P.                  4      pVP1                  V4       VP3                  SR,          4       VP5                  SR,          4       VP7                  SR,          4       VP9                  SR,          4       SR,          pV'       dk   SP$                  P:                  P<                  P>                  PA                  R4      pV'       d*   VP9                  VPC                  RVR. R. R R/R 4      4       VPE                  4        R! V#V3R" llpV! SR#,          4      pV! SR$,          4      pVR%,           pSR&,          ;'       g    T;ppVEf   SP$                  PF                  P>                  pVPI                  4       '       d   \        P                  P                  \K        SP$                  P:                  PL                  PO                  \Q        R'4      4      4      R(R4      p\        P                  P                  R)R(R4      pEMVPS                  4       '       d   \        P                  P                  \K        SP$                  P:                  PL                  PO                  \Q        R'4      4      4      R*R+R4      p\        P                  P                  R)R*R+R4      pM\        P                  P                  \K        SP$                  P:                  PL                  PO                  \Q        R,4      4      4      R4      p\        P                  P                  R-R4      pSPU                  R.4      p T PW                  STYTTTTTTTTRS#V '       d   TMR R/7       \        PX                  ! \         PZ                  ! RSP$                  P]                  4       V4      .VVR SP                  R0R17      p!V! SR2,          4      pV! SR3,          4      pVR4,           pV PW                  SVWVVVVVVVVRS#R57       V'       d   VP_                  4       V P.                  9  d4   \a        VVSPb                  4      V P.                  VP_                  4       &   M\d        Pf                  ! R6\d        Ph                  ! VP                  4      4       M~VPj                   Fn  p"\        V"\        4      '       d   K  V"P_                  4       V P.                  9  g   K<  \a        VVSPb                  4      V P.                  V"P_                  4       &   Kp  	  V Pl                  fA   \n        Pp                  ! SP$                  \         Pr                  Pt                  RR77      V n6        \w        V!V!.4      # )9Nrn  z/pkgconfig.generate optional positional argumentr   z: r4  r#   z+pkgconfig.generate implicit version keywordzopkgconfig.generate: if a library is not passed as a positional argument, the {!r} keyword argument is required.r$   r&   r.   r0   r1   r4   r7   r+   c              3  6   <"   T F  pSV,          x  K  	  R # 5irS   r=   )r   r  r  s   & rE   r   +PkgConfigModule.generate.<locals>.<genexpr>  s     3l6!99ls   TFz$Cannot combine dataonly with any of r   r%   r(   r)   r,   r3   r6   r   versionsimport_dirsdebugunittestc                    V ^8  d   QhRRRR/# )rL   vardictr8   rO   re  r=   )rP   s   "rE   rQ   .PkgConfigModule.generate.<locals>.__annotate__  s     		 		)9 		>W 		rD   c                &  < . ROp. pV P                  4        Fu  w  r4V'       g/   \        P                  ! RRSP                  SP                  R7       S'       g!   W19   d   \
        P                  ! RV R24      hVP                  W434       Kw  	  V# )rP  z$empty variable value in pkg.generatez1.4.0r   z
Variable "z" is reserved)rP  r`  ri  )itemsr   r   r   r   r   r   r   )r  reservedr9   r$   rU  r.   r^   s   &    rE   parse_variable_list5PkgConfigModule.generate.<locals>.parse_variable_list  s    9HI&}}))*PRY[`[k[kv{  wI  wI  JD$4"11JtfM2RSS  $/  / rD   r9   r;   z.pcr5   rP  libdataz{prefix}developr   r`  z{libdir}zpkgconfig.relocatable)rg  devel)install_tagr:   r<   z-uninstalled.pc)rf  r.   z'Already generated a pkg-config file for)rf  )r0   r1   r4   r7   r+   )<project_versionr   r   r   r$   project_namerz  rT   r'   r   r   r   r
   InvalidArgumentsrP   r  r   r   r  get_datadircopyinsertr\   r6  rw   r|   r   r   r   r  r{  hostr	  get_feature_argsr0  machines
is_freebsdrU   r  r  r   is_haiku
get_optionr  DataFileget_scratch_dirr   rW   r   r   r   r   rc   r5  r   get_envMachineChoiceHOSTr	   )$rm   r^   r  r  default_versiondefault_install_dirdefault_descriptiondefault_namemainlibdefault_subdirsr5   rF  blocked_varsr+   r#   r$   r%   r&   r(   r)   r,   r0   rd  	dversionscompilerr  r9   r;   rG  rg  pkgroot_namemrelocatableresr   r.   s$   &f&f                               @rE   r:  PkgConfigModule.generateo  s   6  ///3/3(,QU%77!!"SU]_d_o_op1gG"<<L"'"4"4t";gll"J!88:Kz+a.#>>&(ggll;q>;&O#i (%%&SU]_d_o_opC f~%,,SZZ-?@@m$,,,SZZ-FGG*% OlLs3l3sss3l333--0TUaTb.cdd"$'',,u/@/@/L/L/NP["\#66'-i'8'D&#/!'!;vf~$$$0j0$)/
);)G6*%T/5m/D/Pf]+ViUm#;'	
 ;',,.	Q(!%4>>B)$6"567&,-6"456~././	((11;;@@DDSIH 9 9M2wJX]^`d!f g 			 		 ({(;<	1&9N2OPE!!'!6!M!M:MM,?!!**//A||~~'',,wu/@/@/I/I/R/R/`/`ajksat/u'v  yB  DO  P!ww||J	;O'',,wu/@/@/I/I/R/R/`/`ajksat/u'v  yB  DI  KV  W!ww||J	5+V'',,wu/@/@/I/I/R/R/`/`ajksat/u'v  yD  E!ww||JD&&'>?%%eT7+s&-w	9&95(9Dg$ 	& 	P jj(--e.?.?.O.O.QSYZ[]dfrtxz  {K  {K  Y`  a'/F(GH	1&9Z2[\--%%eT7+s&-w	9&9tV^ 	& 	` ~~t~~53;dE$6$648w~~/0 F		RYR^R^H_`}}!#s++

DNN0R3; $(:(:4<DNN3::<0 % ;;,44U5F5FH^H^HcHcquvDK se,,rD   )r5  )FFN)$r>   r?   r@   rA   r   INFOr5  rB   r6  rn   rB  rR  rY  ra  r  r   r
   r   r   r   r   evolver   r   r   listr'   r-   r   r   dictrI   rJ   r:  rC   __classcell__)r=  s   @rE   r3  r3    s   k"D 9=F5<35I05 )2
)1[Ez (E4G4GI\I\3]2^_##(3+0s;RQUV*dEB-#x1."3D#">TX`hi*sHo9uv&3/5qr).tS92tT%b))S"G<)c8_-!B(S!6hG!8X\^fWgh($9IJ#67"45+.A-/ `0A-rD   r3  c                    V ^8  d   QhRRRR/# )rL   interpr   rO   r3  r=   )rP   s   "rE   rQ   rQ     s      {  rD   c                    \        4       # rS   )r3  )r  s   &rE   
initializer    s    rD   )C__conditional_annotations__
__future__r   collectionsr   dataclassesr   pathlibr   r   typingr   rJ  r   r   r	   r
   r   r   optionsr   r   r   dependencies.pkgconfigr   r   interpreter.type_checkingr   r   r   r   interpreterbaser   r   interpreterbase.decoratorsr   r   r   r   TYPE_CHECKINGtyping_extensionsr   r   r   interpreterr   Unionr   BuildTargetTypesr'   ANY_DEPLibTypesLIBSr!   r  r   r   r   r   rI   rB   rJ   rU   rW   r\   r3  r  )r  s   @rE   <module>r     s   # " # !  	  ,       ) L d d ; c c???+)ggl--u/E/EsJKG775>>3&'D:Y :0 cldS,"9"9"00%2E2E"//1H1HJ K c  `  u~dS%"5"5u7J7JLLcLcde	uq 
   u' u'n	x-( x-vrD   