hyb
2025-12-23 7e5db3a16b423ec4a43459805e277979bcac7db5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Ë
Kñúh’ ãóš—ddlZddlZddlZddlZddlZddlZddlmZddlm    Z    ddl
m Z ddl m Z Gd„d«ZGd    „d
e «Zd „Zd „Zy) éN)Úchain)ÚPath)ÚTemplateé)ÚBackendcó¶—eZdZdZdedeedeedeedeedeedeed    eed
eed ed efd „Zdefd„Zdd„Z    dd„Z
dd„Z dd„Z dd„Z dd„Zd„Zy)Ú MesonTemplatez+Template meson build file generation class.Ú
modulenameÚsourcesÚdepsÚ    librariesÚ library_dirsÚ include_dirsÚ object_filesÚ linker_argsÚ fortran_argsÚ
build_typeÚ
python_exec ó&—||_tt«jj    «dz |_||_||_||_||_    |||_
ng|_
i|_ ||_ |    D cgc],} | jd«r| jd«sd| ›dn| ‘Œ.c} |_|j |j"|j$|j&|j(|j*g|_|
|_| |_d|_ycc} w)Nzmeson.build.templateú'z                     )r
rÚ__file__ÚparentÚabsoluteÚbuild_template_pathr r r rrÚ substitutionsÚobjectsÚ
startswithÚendswithrÚinitialize_templateÚsources_substitutionÚdeps_substitutionÚinclude_substitutionÚlibraries_substitutionÚfortran_args_substitutionÚpipelinerrÚindent) Úselfr
r r r rrrrrrrÚxs              úNH:\Change_password\venv_build\Lib\site-packages\numpy/f2py/_backends/_meson.pyÚ__init__zMesonTemplate.__init__s€ð%ˆŒä ”‹N× !Ñ !× *Ñ *Ó ,Ð/EÑ Eð     Ô ðˆŒ ØˆŒ    Ø"ˆŒØ(ˆÔØ Ð #Ø ,ˆDÕ à "ˆDÔ ØˆÔØ#ˆŒ ð"ö
àðŸ\™\¨#Ô.°1·:±:¸c´?ˆaˆs!‰HÈÑ Jò
ˆÔð
× $Ñ $Ø × %Ñ %Ø × "Ñ "Ø × %Ñ %Ø × 'Ñ 'Ø × *Ñ *ð 
ˆŒ ð%ˆŒØ$ˆŒØˆ ùò
sÁ61DÚreturncó֗|jj«s6ttjd|jj «›d«‚|jj «S)NzMeson build template z does not exist.)rÚis_fileÚFileNotFoundErrorÚerrnoÚENOENTrÚ    read_text©r's r)Úmeson_build_templatez"MesonTemplate.meson_build_template>sa€Ø×'Ñ'×/Ñ/Ô1Ü#Ü— ‘ ðØ×,Ñ,×5Ñ5Ó7Ð8Ø"ð#óð ð ×'Ñ'×1Ñ1Ó3Ð3óNcóš—|j|jd<|j|jd<|j|jd<y)Nr
Ú    buildtypeÚpython)r
rrrr2s r)rz!MesonTemplate.initialize_templateHs>€Ø+/¯?©?ˆ×ј<Ñ(Ø*.¯/©/ˆ×ј;Ñ'Ø'+§¡ˆ×ј8Ò$r4c    óš—dj|jDcgc]}|j›d|›d‘Œc}«|jd<ycc}w)Nú,
ú'''ú''',Ú source_list)Újoinr r&r)r'Úsources  r)r z"MesonTemplate.sources_substitutionMsA€Ø,1¯J©JØ;?¿<¹<Ö H°— ‘ ˆ}˜C ˜x tÒ ,Ò Hó-
ˆ×ј=Ò)ùÚ HsšAc    ó´—d|j›j|jDcgc]}|j›d|›d‘Œc}«|jd<ycc}w)Nr9z dependency('z'),Údep_list)r&r=r r)r'Údeps  r)r!zMesonTemplate.deps_substitutionRsN€Ø+.¨t¯{©{¨mÐ)<×)AÑ)AØ=A¿Y¹YÖ G°c— ‘ ˆ}˜L¨¨¨SÒ 1Ò Gó*
ˆ×ј:Ò&ùÚ Gó§Ac óê—djt|j«Dcgc]\}}d|›d|›d‘Œc}}«|jd<dj|jDcgc]}|j dd«›d|›d    ‘Œc}«|jd
<d|j ›j|jDcgc]#}|j ›|j dd«›d ‘Œ%c}«|jd <d|j ›jtt|j««Dcgc]}|j ›d|›d ‘Œc}«|jd <ycc}}wcc}wcc}wcc}w)Nú
Úlib_dir_z( = declare_dependency(link_args : ['''-Lz'''])Úlib_dir_declarationsú.Ú_z& = declare_dependency(link_args : ['-lz'])Úlib_declarationsú,Úlib_listÚ lib_dir_list)    r=Ú    enumeraterrr Úreplacer&ÚrangeÚlen)r'ÚiÚlib_dirÚlibs    r)r#z$MesonTemplate.libraries_substitutionWsi€Ø59·Y±Yô#,¨D×,=Ñ,=Ó">÷ áAwð˜1˜#ÐEÀgÀYÈeÒTó ó6
ˆ×ÑÐ1Ñ2ð26·±ð Ÿ>™>ö àð—;‘;˜s CÓ(Ð)Ð)OÐPSÈuÐTWÒXò ó2
ˆ×ÑÐ-Ñ.ð,.¨d¯k©k¨]Ð);×)@Ñ)@ØAEÇÁÖ P¸#— ‘ ˆ}˜SŸ[™[¨¨cÓ2Ð3°1Ò 5Ò Pó*
ˆ×ј:Ñ&ð02°$·+±+°Ð-?×-DÑ-DÜ38¼¸T×=NÑ=NÓ9OÓ3PÖ Q¨a— ‘ ˆ}˜H Q C qÒ )Ò Qó.
ˆ×ј>Ò*ùó! ùò ùò Qùò Rs¤E 
Á%E&Â>(E+Ä2E0c    ó´—d|j›j|jDcgc]}|j›d|›d‘Œc}«|jd<ycc}w)Nr9r:r;Úinc_list)r&r=rr)r'Úincs  r)r"z"MesonTemplate.include_substitutionmsP€Ø+.¨t¯{©{¨mÐ)<×)AÑ)AØ59×5FÑ5FÖ G¨c— ‘ ˆ}˜C ˜u DÒ )Ò Gó*
ˆ×ј:Ò&ùÚ GrBcó¾—|jrB|j›ddjt|j««›d|jd<yd|jd<y)Nzfortran_args: [z, z],rÚ)rr&r=Úlistrr2s r)r$z'MesonTemplate.fortran_args_substitutionrsW€Ø × Ò à—;‘;-˜¨t¯y©y¼¸d×>OÑ>OÓ9PÓ/QÐ.RÐRTÐUð × Ñ ˜~Ò .ð24ˆD× Ñ ˜~Ò .r4có—|jD]    }|«Œ t|j««}|j|j«}|j dd«}|S)Nz,,rJ)r%rr3Ú
substituterrN)r'ÚnodeÚtemplateÚ meson_builds    r)Úgenerate_meson_buildz"MesonTemplate.generate_meson_buildzs[€Ø—M‘Mò    ˆDÙ Fð    ä˜D×5Ñ5Ó7Ó8ˆØ×)Ñ)¨$×*<Ñ*<Ó=ˆ Ø!×)Ñ)¨$°Ó4ˆ ØÐr4©r+N)Ú__name__Ú
__module__Ú __qualname__Ú__doc__ÚstrrYrr*r3rr r!r#r"r$r_©r4r)r    r    sƄÙ5ð+àð+ðd‘ð+ð3‰ið    +ð
˜‘9ð +ð ˜4‘jð +ð˜4‘jð+ð˜4‘jð+ð˜#‘Yð+ð˜3‘ið+ðð+ðó+ðZ4 có4ó7ó
 
ó
 
ó
 
ó,
ó
4ór4r    cóT‡—eZdZˆfd„Zdefd„Zdeddfd„Zd„Zdefd„Zd
d    „Z    ˆxZ
S) Ú MesonBackendcóò•—t‰||i|¤Ž|jjdg«|_d|_t d„|jD««rdnd|_t|j«|_y)NÚ dependenciesÚbbdirc3ó$K—|]}d|v–—Œ
y­w)ÚdebugNrf)Ú.0Úflags  r)ú    <genexpr>z(MesonBackend.__init__.<locals>.<genexpr>‰sèø€ÒE¨t˜7 dœ?ÑEùs‚rmÚrelease)
Úsuperr*Ú    extra_datÚgetrjÚmeson_build_dirÚanyÚfc_flagsrÚ
_get_flags)r'ÚargsÚkwargsÚ    __class__s   €r)r*zMesonBackend.__init__„seø€Ü ‰Ñ˜$Ð) &Ò)Ø ŸN™N×.Ñ.¨~¸rÓBˆÔØ&ˆÔäÑE°t·}±}ÔEÔE‰GÈ9ð     Œô# 4§=¡=Ó1ˆ r4Ú    build_dircóÜ—t|«|jz }t|j|j›d«|j|j›d«|j|j›d««}|D]n}tj
«|j z }|j«r|j«tj||«tj|«Œpy)Nz*.soz*.pydz*.dll) rrurÚglobr
ÚcwdÚnameÚexistsÚunlinkÚshutilÚcopy2ÚosÚremove)r'r|Úwalk_dirÚ path_objectsÚ path_objectÚ    dest_paths      r)Ú_move_exec_to_rootzMesonBackend._move_exec_to_rootsÁ€Ü˜    “? T×%9Ñ%9Ñ9ˆÜØ M‰M˜TŸ_™_Ð-¨TÐ2Ó 3Ø M‰M˜TŸ_™_Ð-¨UÐ3Ó 4Ø M‰M˜TŸ_™_Ð-¨UÐ3Ó 4ó
ˆ ð(ò    #ˆKÜŸ™›
 [×%5Ñ%5Ñ5ˆIØ×ÑÔ!Ø× Ñ Ô"Ü L‰L˜ iÔ 0Ü I‰IkÕ "ñ     #r4r+Nc óª—t|j|j|j|j|j
|j |j|j|j|jtj« }|j«}t|«jdd¬«t|«dz }|j!|«|S)z1Writes the meson build file at specified locationT©ÚparentsÚexist_okz meson.build)r    r
r rjr rrÚ extra_objectsÚ
flib_flagsrwrÚsysÚ
executabler_rÚmkdirÚ
write_text)r'r|Úmeson_templateÚsrcÚmeson_build_files     r)Úwrite_meson_buildzMesonBackend.write_meson_builds«€ä&Ø O‰OØ L‰LØ × Ñ Ø N‰NØ × Ñ Ø × Ñ Ø × Ñ Ø O‰OØ M‰MØ O‰OÜ N‰Nó 
ˆð×1Ñ1Ó3ˆÜ ˆY‹×Ñ d°TÐÔ:Ü     ›?¨]Ñ:ÐØ×#Ñ# CÔ(ØÐr4có4—tj||d¬«y)NT)rÚcheck)Ú
subprocessÚrun)r'Úcommandrs   r)Ú_run_subprocess_commandz$MesonBackend._run_subprocess_command²s€Ü‰w C¨tÖ4r4cóŠ—dd|jg}|j||«ddd|jg}|j||«y)NÚmesonÚsetupÚcompilez-C)rurŸ)r'r|Ú setup_commandÚcompile_commands    r)Ú    run_mesonzMesonBackend.run_mesonµsH€Ø  '¨4×+?Ñ+?Ð@ˆ Ø ×$Ñ$ ]°IÔ>Ø" I¨t°T×5IÑ5IÐJˆØ ×$Ñ$ _°iÕ@r4có—t|j|j|j«|_|j    |j«|j |j«|j |j«y)N)Ú_prepare_sourcesr
r r|r™r¦r‹r2s r)r£zMesonBackend.compile»sR€Ü'¨¯©¸¿¹ÀtÇ~Á~ÓVˆŒ Ø ×јtŸ~™~Ô.Ø ‰t—~‘~Ô&Ø ×Ñ §¡Õ/r4r`) rarbrcr*rr‹r™rŸr¦r£Ú __classcell__)r{s@r)rhrhƒs?ø„ô2ð#¨Dó#ð  ¨4ð °Dó ò*5ðA 4óA÷ 0r4rhcó²—|j«}t|«jdd¬«|D]L}t|«j«sŒt|«j    «sŒ7t j||«ŒNt|›d«t|›d«t|›d«g}t|«}|D]a}|j«sŒt j|||j z «|j|j «|j«Œc|Dcgc]/}t|«jdk(st|«j ‘Œ1}}|Scc}w)NTrzmodule.cz-f2pywrappers2.f90z-f2pywrappers.fz.pyf)
Úcopyrr”rr-rƒr€Úappendr‚Úsuffix)Úmnamer ÚbdirÚextended_sourcesr>Úgenerated_sourcesÚgenerated_sources       r)r¨r¨ÂsE€Ø—|‘|“~Ð܈ƒJ×јT¨DÐÔ1àò&ˆÜ ‹<× Ñ Õ  ¤T¨&£\×%9Ñ%9Õ%;Ü K‰K˜ Õ %ð&ô     ˆwhÐ Ó Ü ˆwÐ(Ð )Ó*Ü ˆwoÐ &Ó'ðÐô
‹:€DØ-ò&ÐØ × "Ñ "Õ $Ü K‰KÐ(¨$Ð1A×1FÑ1FÑ*FÔ GØ × #Ñ #Ð$4×$9Ñ$9Ô :Ø × #Ñ #Õ %ð    &ð'öà ܐF‹|×"Ñ" fÒ,ô     ˆV‹ ×ÓðÐðð
Ðùò sÄ4Ecóh—g}tjd«}|D]r}|j|«}|sŒ|jd«j    «j «}|Dcgc]}|j    d«‘Œ}}|j |«Œtttj|««}|Scc}w)Nz--f(77|90)flags=(.*)éz'")
Úrer£ÚmatchÚgroupÚstripÚsplitÚextendrYÚdictÚfromkeys)rwÚ flag_valuesÚ flag_patternroÚ match_resultÚvaluesÚvalÚ unique_flagss        r)rxrxÜs¤€Ø€KÜ—:‘:Ð5Ó6€LØò'ˆØ#×)Ñ)¨$Ó/ˆ Ú Ø!×'Ñ'¨Ó*×0Ñ0Ó2×8Ñ8Ó:ˆFØ28Ö9¨3c—i‘i Õ&Ð9ˆFÐ9Ø × Ñ ˜vÕ &ð 'ôœŸ ™  kÓ2Ó3€LØ Ðùò    :sÁ"B/)r/r…rµrƒrœr’Ú    itertoolsrÚpathlibrÚstringrÚ_backendrr    rhr¨rxrfr4r)ú<module>rÇsGðÛ Û    Û    Û ÛÛ
ÝÝÝå÷rñrôj<07ô<0ò~ó4 r4