+
    xȇi!                         ^ RI t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIH	t	 ^ RI
Ht ^RIHt  ! R R4      t ! R R	]4      tR
 tR tR tR# )    N)chainPath)Template)Backendc                      a  ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltR tRtV tR# )MesonTemplatez+Template meson build file generation class.c                   < V ^8  d   QhRS[ RS[S[,          RS[S[ ,          RS[S[ ,          RS[S[,          RS[S[,          RS[S[,          RS[S[ ,          R	S[S[ ,          R
S[ RS[ /# )   
modulenamesourcesdeps	librarieslibrary_dirsinclude_dirsobject_fileslinker_argsfortran_args
build_type
python_exe)strlistr   )format__classdict__s   "k/Users/max/.openclaw/workspace/postharvest/venv/lib/python3.14/site-packages/numpy/f2py/_backends/_meson.py__annotate__MesonTemplate.__annotate__   s     , ,, d, 3i	,
 9, 4j, 4j, 4j, #Y, 3i, , ,    c                T   Wn         \        \        4      P                  P	                  4       R ,          V n        W n        W0n        W@n        WPn	        Ve   W`n
        M. V n
        / V n        Wpn        V	 Uu. uF9  pVP                  R4      '       d   VP                  R4      '       g   RV R2MTNK;  	  upV n        V P                   V P"                  V P$                  V P&                  V P(                  V P*                  V P,                  .V n        Wn        Wn        RV n        R# u upi )zmeson.build.templateN'z                     )r   r   __file__parentabsolutebuild_template_pathr   r   r   r   r   substitutionsobjects
startswithendswithr   initialize_templatesources_substitutionobjects_substitutiondeps_substitutioninclude_substitutionlibraries_substitutionfortran_args_substitutionpipeliner   r   indent)selfr   r   r   r   r   r   r   r   r   r   r   xs   &&&&&&&&&&&& r   __init__MesonTemplate.__init__   s    %N!!**,/EE 	  	"(# , "D# "
! \\#..1::c??as!HJ!

 $$%%%%""%%''**
 %$
s   5D%D%(D%c                    < V ^8  d   QhRS[ /# )r   return)r   )r   r   s   "r   r   r   ?   s     4 4c 4r   c                    V P                   P                  4       '       g7   \        \        P                  R V P                   P                  4        R24      hV P                   P                  4       # )zMeson build template z does not exist.)r$   is_fileFileNotFoundErrorerrnoENOENTr#   	read_textr2   s   &r   meson_build_template"MesonTemplate.meson_build_template?   sd    ''//11#,,5578"#  ''1133r   c                   < V ^8  d   QhRR/# r   r7   N )r   r   s   "r   r   r   I   s     7 7T 7r   c                    V P                   V P                  R &   V P                  V P                  R&   V P                  V P                  R&   R# )r   	buildtypepythonN)r   r%   r   r   r>   s   &r   r)   !MesonTemplate.initialize_templateI   s>    +/??<(*.//;''+8$r   c                   < V ^8  d   QhRR/# rB   rC   )r   r   s   "r   r   r   N        
 
d 
r   c           	         R P                  V P                   Uu. uF  qP                   RV R2NK  	  up4      V P                  R&   R# u upi ),
'''''',source_listN)joinr   r1   r%   )r2   sources   & r   r*   "MesonTemplate.sources_substitutionN   sC    ,1JJ;?<<H<}Cxt,<H-
=)H   A
c                   < V ^8  d   QhRR/# rB   rC   )r   r   s   "r   r   r   S   rI   r   c           	         R P                  V P                   Uu. uF  qP                   RV R2NK  	  up4      V P                  R&   R# u upi )rK   rL   rM   obj_listN)rO   r&   r1   r%   )r2   objs   & r   r+   "MesonTemplate.objects_substitutionS   sC    ).59\\B\c}CuD)\B*
:&BrR   c                   < V ^8  d   QhRR/# rB   rC   )r   r   s   "r   r   r   X   s     
 
4 
r   c           	         R V P                    2P                  V P                   Uu. uF  qP                    RV R2NK  	  up4      V P                  R&   R# u upi )rK   zdependency('z'),dep_listN)r1   rO   r   r%   )r2   deps   & r   r,   MesonTemplate.deps_substitutionX   sP    +.t{{m)<)A)A=AYYGYc}LS1YG*
:&G   Ac                   < V ^8  d   QhRR/# rB   rC   )r   r   s   "r   r   r   ]   s     
 
 
r   c                   R P                  \        V P                  4       UUu. uF  w  rRV RV R2NK  	  upp4      V P                  R&   R P                  V P                   Uu. uF  pVP                  RR4       RV R2NK  	  up4      V P                  R	&   R V P                   2P                  V P                   Uu. uF#  q0P                   VP                  RR4       R
2NK%  	  up4      V P                  R&   R V P                   2P                  \        \        V P                  4      4       Uu. uF  qP                   RV R
2NK  	  up4      V P                  R&   R# u uppi u upi u upi u upi )
lib_dir_z( = declare_dependency(link_args : ['''-Lz'''])lib_dir_declarations._z& = declare_dependency(link_args : ['-lz'])lib_declarations,lib_listlib_dir_listN)	rO   	enumerater   r%   r   replacer1   rangelen)r2   ilib_dirlibs   &   r   r.   $MesonTemplate.libraries_substitution]   sw   59YY #,D,=,=">">JA 1#EgYeT">6
12 26  >>)C ;;sC())OPSuTWX)2
-. ,.dkk]);)@)@AEP#}S[[c2315P*
:& 02$++-?-D-D38T=N=N9O3PQ3Pa}HQCq)3PQ.
>*! Q Rs   E&
&!E,)E16E6c                   < V ^8  d   QhRR/# rB   rC   )r   r   s   "r   r   r   s   rI   r   c           	         R V P                    2P                  V P                   Uu. uF  qP                    RV R2NK  	  up4      V P                  R&   R# u upi )rK   rL   rM   inc_listN)r1   rO   r   r%   )r2   incs   & r   r-   "MesonTemplate.include_substitutions   sT    +.t{{m)<)A)A595F5FG5Fc}CuD)5FG*
:&Gr]   c                   < V ^8  d   QhRR/# rB   rC   )r   r   s   "r   r   r   x   s     4 44 4r   c                    V P                   '       dD   V P                   R RP                  \        V P                   4      4       R2V P                  R&   R# RV P                  R&   R# )zfortran_args: [z, z],r    N)r   r1   rO   r   r%   r>   s   &r   r/   'MesonTemplate.fortran_args_substitutionx   sZ    ;;-tyyd>O>O9P/Q.RRTU ~. 24D~.r   c                    V P                    F
  pV! 4        K  	  \        V P                  4       4      pVP                  V P                  4      pVP                  R R4      pV# )z,,rf   )r0   r   r?   
substituter%   rj   )r2   nodetemplatemeson_builds   &   r   generate_meson_build"MesonTemplate.generate_meson_build   sV    MMDF "D5578))$*<*<=!))$4r   )r$   r   r   r   r   r1   r   r   r   r&   r0   r   r   r%   N)__name__
__module____qualname____firstlineno____doc__r4   r?   r)   r*   r+   r,   r.   r-   r/   r   __static_attributes____classdictcell__)r   s   @r   r	   r	      sm     5, ,\4 47 7

 


 


 


 
,
 

4 4 r   r	   c                      a a ] tR t^t oV 3R ltV3R lR ltV3R lR ltR tV3R lR ltV3R	 lR
 lt	Rt
VtV ;t# )MesonBackendc                Z  < \         SV `  ! V/ VB  V P                  P                  R . 4      V n        RV n        \        ;QJ d&    R V P                   4       F  '       g   K   RM	  RM! R V P                   4       4      '       d   RMRV n        \        V P                  4      V n        R# )dependenciesbbdirc              3   ,   "   T F
  pR V9   x  K  	  R# 5i)debugNrC   ).0flags   & r   	<genexpr>(MesonBackend.__init__.<locals>.<genexpr>   s     E}t7d?}s   TFr   releaseN)
superr4   	extra_datgetr   meson_build_diranyfc_flagsr   
_get_flags)r2   argskwargs	__class__s   &*,r   r4   MesonBackend.__init__   s|    $)&) NN..~rB&sEt}}EsssEt}}EEEG9 	 #4==1r   c                    < V ^8  d   QhRS[ /# r   	build_dirr   )r   r   s   "r   r   MesonBackend.__annotate__   s     # #D #r   c                   \        V4      V P                  ,          p\        VP                  V P                   R 24      VP                  V P                   R24      VP                  V P                   R24      4      pV F{  p\         P
                  ! 4       VP                  ,          pVP                  4       '       d   VP                  4        \        P                  ! WE4       \        P                  ! V4       K}  	  R# )z*.soz*.pydz*.dllN)r   r   r   globr   cwdnameexistsunlinkshutilcopy2osremove)r2   r   walk_dirpath_objectspath_object	dest_paths   &&    r   _move_exec_to_rootMesonBackend._move_exec_to_root   s    	?T%9%99MMT__-T23MMT__-U34MMT__-U34
 (K
[%5%55I!!  "LL0IIk" (r   c                $   < V ^8  d   QhRS[ RR/# )r   r   r7   Nr   )r   r   s   "r   r   r      s        4  D  r   c                   \        V P                  V P                  V P                  V P                  V P
                  V P                  V P                  V P                  V P                  V P                  \        P                  4      pVP                  4       p\        V4      P                  RRR7       \        V4      R,          pVP!                  V4       V# )z1Writes the meson build file at specified locationTparentsexist_okzmeson.build)r	   r   r   r   r   r   r   extra_objects
flib_flagsr   r   sys
executabler   r   mkdir
write_text)r2   r   meson_templatesrcmeson_build_files   &&   r   write_meson_buildMesonBackend.write_meson_build   s    &OOLLNNOOMMOONN
 113YdT:	?]:##C(r   c                6    \         P                  ! WR R7       R# )T)r   checkN)
subprocessrun)r2   commandr   s   &&&r   _run_subprocess_command$MesonBackend._run_subprocess_command   s    wt4r   c                    < V ^8  d   QhRS[ /# r   r   )r   r   s   "r   r   r      s     A A4 Ar   c                    R RV P                   .pV P                  W!4       R RRV P                   .pV P                  W14       R# )mesonsetupcompilez-CN)r   r   )r2   r   setup_commandcompile_commands   &&  r   	run_mesonMesonBackend.run_meson   sD     '4+?+?@$$]>"ItT5I5IJ$$_@r   c                   < V ^8  d   QhRR/# rB   rC   )r   r   s   "r   r   r      s     0 0 0r   c                ^   \        V P                  V P                  V P                  4      V n        \	        V P                  V P
                  V P                  4       V P                  V P                  4       V P                  V P                  4       V P                  V P                  4       R # )N)	_prepare_sourcesr   r   r   _prepare_objectsr   r   r   r   r>   s   &r   r   MesonBackend.compile   sl    't~~V$*<*<dnnMt~~.t~~&/r   )r   r   r   r   r   )r   r   r   r   r4   r   r   r   r   r   r   r   __classcell__)r   r   s   @@r   r   r      s>     2# #    *5A A0 0 0r   r   c                    VP                  4       p\        V4      P                  R R R7       V F[  p\        V4      P                  4       '       g   K$  \        V4      P	                  4       '       g   KE  \
        P                   ! WB4       K]  	  \        V  R24      \        V  R24      \        V  R24      .p\        V4      pV Fm  pVP                  4       '       g   K  \
        P                   ! WbVP                  ,          4       VP                  VP                  4       VP                  4        Ko  	  V Uu. uF4  p\        V4      P                  R8X  d   K  \        V4      P                  NK6  	  ppV# u upi )Tr   zmodule.cz-f2pywrappers2.f90z-f2pywrappers.fz.pyf)
copyr   r   r   r9   r   r   appendr   suffix)mnamer   bdirextended_sourcesrP   generated_sourcesgenerated_sources   &&&    r   r   r      sD   ||~JTD1<  T&\%9%9%;%;KK%  	wh w()*wo&'
 :D-""$$KK(1A1F1F*FG##$4$9$9:##%	 . '&FF|""f, 	V&  
 s   9E7E7c                     \        V4      P                  R R R7       V F[  p\        V4      P                  4       '       g   K$  \        V4      P                  4       '       g   KE  \        P
                  ! W24       K]  	  R# )Tr   N)r   r   r   r9   r   r   )r   r&   r   rV   s   &&& r   r   r      sT    JTD19$s)"3"3"5"5KK" r   c                 ~   . p\         P                  ! R 4      pV  F{  pVP                  V4      pV'       g   K  VP                  ^4      P	                  4       P                  4       pV Uu. uF  qfP	                  R4      NK  	  ppVP                  V4       K}  	  \        \        P                  V4      4      pV# u upi )z--f(77|90)flags=(.*)z'")
rer   matchgroupstripsplitextendr   dictfromkeys)r   flag_valuesflag_patternr   match_resultvaluesvalunique_flagss   &       r   r   r      s    K::56L#))$/<!''*00288:F289&3ii&&F9v&  k23L	 :s   *B:)r;   r   r   r   r   r   	itertoolsr   pathlibr   stringr   _backendr   r	   r   r   r   r   rC   r   r   <module>r      sL     	 	   
    x xv=07 =0@2#r   