Wc0csxdZddlZddlZddlZddlZddlZddlmZddlm Z ddl m Z m ZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%e#Z&ej'de(d dd Zee d Z)eee&Zeee&Z*dd Z+dZ, esej-Z,n #e.$rYnwxYwdZ/ddZ0ddZ1dS)aProvide access to Python's configuration information. The specific configuration variables available depend heavily on the platform and configuration. The values may be retrieved using get_config_var(name), and the list of variables is available via get_config_vars().keys(). Additional convenience functions are also available. Written by: Fred L. Drake, Jr. Email: N)partial)DistutilsPlatformError)_PREFIX _BASE_PREFIX _EXEC_PREFIX_BASE_EXEC_PREFIX _PROJECT_BASE _PYTHON_BUILD _init_posixparse_config_h_init_non_posix _variable_rx _findvar1_rx _findvar2_rxexpand_makefile_varsis_python_buildget_config_h_filenameget_config_varget_config_varsget_makefile_filenameget_python_versionzCThe distutils.sysconfig module is deprecated, use sysconfig instead)Z stacklevelcs$t||S)N)Zvars)sysconfig_parse_config_h)fpgs ,/usr/lib64/python3.11/distutils/sysconfig.pyr r =s #BQ / / //T)Z check_homecs4ddlm}||dddd}|i}i}i} |}|ntjt |}|r|dd\}} | } | d d } d | vr| ||<n? t| } | ||<n)#t$r| d d ||<YnwxYwd } |rt|D]} || } tj t| ptj t| }|rk|d}d}||vrt||}nz||vrd }ns|t jvrt j|}nR|| vrG| dr| dd| vrd }n*d|z|vrd }n t|d|z}nd x||<}|r| |d}| d||z|z} d |vr| || <8t| } | || <n'#t$r| || <YnwxYw|| =| dr| dd| vr| dd} | |vr| || <|| =|||D]1\}} t/| tr| ||<2|||S)zParse a Makefile-style file. A dictionary containing name/value pairs is returned. If an optional dictionary is passed in as the second argument, it is used instead of a new dictionary. r)TextFilerZsurrogateescape)Zstrip_commentsZ skip_blanksZ join_lineserrorsNTrz$$z$)CFLAGSLDFLAGSCPPFLAGSFZPY_i)Zdistutils.text_filerZreadlinereZmatchr ZgroupZstripZreplaceZintZ ValueErrorZlistZsearchrrZstrosenviron startswithZendZstartZcloseZitemsZ isinstanceZupdate)ZfnrrrZdoneZnotdoneZlineZmZnZvZtmpvZrenamed_variablesnameZvalueZfoundZitemZafterZks rparse_makefiler(Hs -,,,,, "QA!L] ^ ^ ^B  DG {{}}    H\4 ( (  771a==DAq A99T2&&Dd{   AA  DGG "333iic22DGGG3! 4: 0"MM/ "/ "DDME ,..P")L%2P2PA, "GGAJJ9(tAw<O2O4!g-4 % #4 ?33%''DGd3!!%%''((OE!*17799*-4u5 <8 # A ##$=>> A####// ===:@ 67 D%& ND) U U JS&(HlB 2:  Jt$E ( 6""*4 6 ++B// 6 !8CGGHH#55B BJ  $*U#C  # .z*-H BJ  *U#CCu*C  " >#~ 9(==H rz ! =c\BJx$88F#~ 8(<>H 2:  "D!B  " +Cx"*Y"77HHCx(*HcF"   x/ !   )5%%%}>5>5rcs||rtpt}tjdkrtrU|rt Stjtdd}tj |Sdtztz}tj|d|StjdkrztrStj|dtjj ztj|dzStj|dStd tjz) aReturn the directory containing installed Python header files. If 'plat_specific' is false (the default), this is the path to the non-platform-specific header files, i.e. Python.h and so on; otherwise, this is the path to platform-specific header files (namely pyconfig.h). If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'. NposixZsrcdirZIncludepythonZincludentZPCzFI don't know where Python installs its C header files on platform '%s')BASE_EXEC_PREFIX BASE_PREFIXr$r' python_build project_basepathjoinrZnormpathr build_flagsZpathsepr) plat_specificprefixZincdirZ python_dirs rget_python_incr;s-C3#3B{ w'*  0  0##nX&>&> JJw''/// 2 4 44{B w||FIz::: D *  0GLL33bgoEGLL../ 0w||FI...$ !# )** *rcs|#|r|rtpt}n|rtpt}tjdkrg|s|r t j}nd}tj ||dtz}|r|Stj |dStjdkrC|r tj |dStj |ddStdtjz) aSReturn the directory containing the Python library (standard or site additions). If 'plat_specific' is true, return the directory containing platform-specific modules, i.e. any module from a non-pure-Python module distribution; otherwise, return the platform-shared library directory. If 'standard_lib' is true, return the directory containing standard Python library modules; otherwise, return the directory for site-specific modules. If 'prefix' is supplied, use it instead of sys.base_prefix or sys.base_exec_prefix -- i.e., ignore 'plat_specific'. Nr/Zlibr0z site-packagesr1ZLibz?I don't know where Python installs its library on platform '%s') r2r3 EXEC_PREFIXPREFIXr$r'r+Z platlibdirr6r7rr)r9Z standard_libr:ZlibdirZ libpythons rget_python_libr>0s=  ="7'7F;FF"2{,@,@!@BB  < 7<< ?;; ; D*  @7<<.. .7<<?? ?$ !# )** *r)N)rN)rrN)2Z__doc__Z_impr$r#r+ZwarningsZ functoolsrrrZ sysconfigrr=rr3rr<rr2rr5r r4r Zsysconfig_init_posixr rr r rrrrrrrrrr,ZwarnZDeprecationWarningZ _python_buildZ_init_ntr(r8ZabiflagsZAttributeErrorr.r;r>)rrr?sQ   ******:   I0000D999 g*L99 7?L 1 1 f f f f ^  #l     D D5D5D5N%*%*%*%*P************s B$$B,+B,