Ë ©ùj|ìG]ãóž—ddlZddlZddlmZddlmZmZddlmZddl m Z m Z ddl m Z mZmZmZddlmZdd lmZdd lmZGd „d e«Zy) éNé)ÚBuildableBindings)Ú ConfigurableÚOption)Ú UserException)ÚparseÚresolve)Ú output_apiÚ output_codeÚoutput_extractÚ output_pyi)Ú Installable)Úcopy_nonshared_sources)Ú SIP_VERSIONcó>‡—eZdZdZede¬«ede¬«ede¬«ede¬«ede¬«ede¬«ed e¬«ed e¬«ed e¬«ed e¬«ed e¬«ede¬«ede¬«ede¬«ed«ed«ede¬«ede¬«ededd¬«eded¬«ededd¬«eded d!¬"«ed#ed$¬«ed%ed&¬«ed%ed d'¬"«ed(ed)¬«fZˆfd*„Z ˆfd+„Z ˆfd,„Z d-„Z ˆfd.„Z d/„Zˆfd0„ZˆxZS)1ÚBindingsz+ The encapsulation of a module's bindings. Úbuilder_settings)Ú option_typeÚ define_macrosÚ exceptionsÚextra_compile_argsÚextra_link_argsÚ extra_objectsÚgenerate_extractsÚheadersÚ include_dirsÚinternalÚ librariesÚ library_dirsÚ release_gilÚstaticÚsip_fileÚ source_suffixÚsourcesÚtagsÚ concatenatez6concatenate the generated bindings into N source filesÚN)rÚhelpÚmetavarÚdebugzbuild with debugging symbols)rr(Údisabled_featureszdisable the TAG feature tagÚTAGÚ docstringsTz$disable the generation of docstrings)rÚinvertedr(Ú pep484_pyiz+enable the generation of PEP 484 .pyi filesÚprotected_is_publicz9enable the protected/public hack (default on non-Windows)z6disable the protected/public hack (default on Windows)Útracingzbuild with tracing supportc ó`•—t‰|�«||_||_|j |«y)z Initialise the bindings. N)ÚsuperÚ__init__ÚprojectÚnameÚinitialise_options)Úselfr5r6ÚkwargsÚ __class__s €ú6/usr/lib/python3.12/site-packages/sipbuild/bindings.pyr4zBindings.__init__gs,ø€ô ‰ÑÔàˆŒ ؈Œ à ×Ñ Õ'ócód•—|j€|jdz|_t‰|� |«y)zd Set default values for each non-user configurable option that hasn't been set yet. Nz.sip)r"r6r3Úapply_nonuser_defaults©r8Útoolr:s €r;r>zBindings.apply_nonuser_defaultsqs,ø€ð �=‰=Ð Ø ŸI™I¨Ñ.ˆDŒMä ‰Ñ& tÕ,r<cóx•—|j€|jjdk7|_t‰|�|«y)z@ Set default values for user options that haven't been set yet. NÚwin32)r0r5Ú py_platformr3Úapply_user_defaultsr?s €r;rDzBindings.apply_user_defaults|s5ø€ð × #Ñ #Ð +Ø(,¯ © ×(@Ñ(@ÀGÑ(KˆDÔ $ä ‰Ñ# DÕ)r<c ó¸ —|j}d}t|jt||j|j |j |j|j|j« \}}}t||«|j}|jxs |j}t||jj |¬«}|j"j%|j"«|j&|_|j(|_|j*|_|j,|_|j.|_|j0|_|j2rw|j4sk|j7dj9|j:««t=|t>j@jC|jD|j:dz««|jFD]} tI|| «Œ|jJrË|j4s¿|j7dj9|j:««t>j@jC|jD|j:dz«} tM||| «tOd|jQ«¬«} | jRjU| «|jVjU| «tY||||«|jZj%|jZ«|j\jU|jD«|jrê|j\jU|jD«|j4�s|j_d «} t>j@ja|j«} |D]]} t>j@jC| | «}t>j@jc|«sŒC| jRjU|«Œ_|jVjU| «nK|jdj%tg|jjid «d |jD««|j\j%|j\«|jdj%|jd«|jr6|jjjUd «|jjjUd «|jjj%|jj«|jlj%|jl«|jnj%|jn«|S)zÈ Generate the bindings source code and optional additional extracts. and return a BuildableBindings instance containing the details of everything needed to build the bindings. zUTF-8)Úuses_limited_apizGenerating the {0} .api filez.apizGenerating the {0} .pyi filez.pyiÚpyi)Ú target_subdirÚsipÚ.rÚSIP_PROTECTED_IS_PUBLICzprotected=public)8r5rr"rÚ abi_versionr%r+r0Ú_sip_include_dirsÚ sip_moduler ÚmoduleÚuse_limited_apiÚ is_compositerÚ fq_py_namer6rÚextendr*rrrrr!Úapi_dirrÚprogressÚformatÚtargetr ÚosÚpathÚjoinÚ build_dirrr r/r rÚget_install_subdirÚfilesÚappendÚ installablesr rrÚget_bindings_installableÚdirnameÚisfiler$rÚsplitrrr)r8r5ÚencodingÚspecÚmodulesÚ sip_filesrOrFÚ buildableÚ extract_refÚpyi_pathÚ installableÚsip_dirÚfnÚsip_paths r;ÚgeneratezBindings.generate„s#€ð —,‘,ˆðˆô$)¨¯©¼ ÀXØ×#Ñ# T§Y¡Y°×0FÑ0FØ×(Ñ(¨$×*@Ñ*@Ø×"Ñ"ó$$Ñ ˆˆg�yô ��gÔà—‘ˆà!×1Ñ1ÒF°T×5FÑ5FÐô & d¨F×,=Ñ,=×,BÑ,BØ!1ô3ˆ ð ×"Ñ"×)Ñ)¨$×*?Ñ*?Ô@ØŸ*™*ˆ ŒØ#Ÿ™ˆ ÔØ'+×'>Ñ'>ˆ Ô$Ø$(×$8Ñ$8ˆ Ô!Ø"&×"4Ñ"4ˆ ÔØŸ;™;ˆ Ôð �?Š? 4§=¢=Ø × Ñ Ø2×9Ñ9¸)×:JÑ:JÓKô Mô �tÜ—G‘G—L‘L ×!2Ñ!2°I×4DÑ4DÀvÑ4MÓNô Pð ×1Ô1ˆKÜ ˜4 Õ -ð2ð �?Š? 4§=¢=Ø × Ñ Ø2×9Ñ9¸)×:JÑ:JÓKô Mô—w‘w—|‘| I×$7Ñ$7Ø×$Ñ$ vÑ-ó/ˆHô �t˜W hÔ /ä% eØ"+×">Ñ">Ó"@ôBˆKà × Ñ × $Ñ $ XÔ .Ø × "Ñ "× )Ñ )¨+Ô 6ô �D˜$ ¨Ô3à×Ñ× Ñ  §¡Ô.ð ×Ñ×%Ñ% i×&9Ñ&9Ô:à × Ò à × "Ñ "× )Ñ )¨'×*;Ñ*;Ô <à—=“=à'×@Ñ@ÀÓG� äŸ'™'Ÿ/™/¨$¯-©-Ó8�ã#�BÜ!Ÿw™wŸ|™|¨G°RÓ8�Hô—w‘w—~‘~ hÕ/Ø#×)Ñ)×0Ñ0°Õ:ð$ð×&Ñ&×-Ñ-¨kÕ:à × Ñ × $Ñ $Ü*¨7×+>Ñ+>×+DÑ+DÀSÓ+IÈ!Ñ+LØ%×/Ñ/ó1ô 2ð ×Ñ×%Ñ% d×&7Ñ&7Ô8Ø×Ñ× Ñ  §¡Ô.à × #Ò #Ø × #Ñ #× *Ñ *Ð+DÔ EØ × #Ñ #× *Ñ *Ð+=Ô >à×Ñ×&Ñ& t×'9Ñ'9Ô:à×Ñ×"Ñ" 4§>¡>Ô2Ø×Ñ×%Ñ% d×&7Ñ&7Ô8àÐr<cóZ•—t‰|�«}|j|j«|S)z* Return the list of configurable options. )r3Ú get_optionsrSÚ_options)r8Úoptionsr:s €r;rqzBindings.get_optionsüs'ø€ô‘'Ñ%Ó'ˆØ�‰�t—}‘}Ô%àˆr<có—y)zƒ Return True if the bindings are buildable. This will not be called if the bindings have been explicitly enabled. T©)r8s r;Ú is_buildablezBindings.is_buildables€ð r<cóŽ•—|tjvry|j}t‰|�|«|j D�cgc]}|j |«‘Œc}|_|jD�cgc]}|j |«‘Œc}|_|jD�cgc]}|j |«‘Œc}|_|jD�cgc]}|j |«‘Œc}|_ |j |j|j¬«|_ |jD�cgc]}|j |«‘Œc}|_ tjj|j«s/t!dj#|j|j$««‚t&j(dk(rl|j*r0|j,sTt!dj#|j$««‚|j,r$t!dj#|j$««‚|j.sd|_yycc}wcc}wcc}wcc}wcc}w)z; Verify that the configuration is complete and consistent. N)Ú relative_toz2the file '{0}' for the {1} bindings does not existrBzXA debug version of Python must be used when building a debug version of the {0} bindingszXA debug version of the {0} bindings must be built when a debug version of Python is used)rÚ BUILD_TOOLSr5r3Úverify_configurationrÚ project_pathrrrr"Ú sip_files_dirr$rXrYrbrrVr6ÚsysÚplatformr*Úpy_debugr#)r8r@r5ÚoÚhÚdÚsr:s €r;rzzBindings.verify_configuration sø€ð ”v×)Ñ)Ñ )Ø à—,‘,ˆä ‰Ñ$ TÔ*ð×+Ò+ó-Ù+�Að&×2Ñ2°1Õ5Ø+ñ-ˆÔà9=¿ºÓF¹°A˜×,Ñ,¨QÕ/¸ÑFˆŒ à×*Ò*ó,Ù*�Að%×1Ñ1°!Õ4Ø*ñ,ˆÔð×*Ò*ó,Ù*�Að%×1Ñ1°!Õ4Ø*ñ,ˆÔà×,Ñ,¨T¯]©]Ø#×1Ñ1ð-ó3ˆŒ à9=¿ºÓF¹°A˜×,Ñ,¨QÕ/¸ÑFˆŒ ô�w‰w�~‰~˜dŸm™mÔ,Üð$ß$*¡F¨4¯=©=¸$¿)¹)Ó$DóFð Fô �<‰<˜7Ò "Ø�zŠzØ×'Ò'Ü'ð'ç'-¡v¨d¯i©iÓ'8ó:ð:ð×!Ò!Ü#ðAßAGÁØ $§ ¡ óB+ó,ð,ð ×!Ò!Ø!%ˆDÕ ð"ùòA-ùâFùò,ùò,ùòGs¾H.Á,H3ÂH8ÃH=Ä"I)Ú__name__Ú __module__Ú __qualname__Ú__doc__rÚlistÚboolÚintrrr4r>rDrorqrvrzÚ __classcell__)r:s@r;rrsšø„Ù5ñ Ð!¨tÔ4ñ ˆ¨DÔ1ñ ˆ|¨Ô.ñ Ð#°Ô6ñ Ð ¨dÔ3ñ ˆ¨DÔ1ñ Ð"°Ô5ñ ˆy dÔ+ñ ˆ~¨4Ô0ñ ˆz tÔ,ñ ˆ{¨Ô-ñ ˆ~¨4Ô0ñ ˆ}¨$Ô/ñ ˆx TÔ*ñ ˆzÓñ ˆÓñ ˆy dÔ+ñ ˆv 4Ô(ñ ˆ}¨#ØMØô ñ ˆw DÐ/MÔNÙÐ"°Ø2¸Eô Cáˆ|¨¸Ø;ô =áˆ|¨ØBô DáÐ$°$ØPô RáÐ$°$ÀØMô Oáˆy dÐ1MÔNðYM€Hô^(ô -ô*òvôpò÷,&ð,&r<r)rXr}rhrÚ configurablerrrrÚ generatorrr Úgenerator.outputsr r r r rkrrOrÚversionrrrur<r;Úr�s:ðó  Û å(ß.Ý%ß%÷óå$Ý*Ý ôc&ˆ|õc&r<