B ð`‡1_^xuã@sddlZddlZddlmZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZmZmZdd lmZdd l mZdd lmZdd lmZd ZddddddœZddddddœddddddœedœZerddddddœed<dddd ddœed!<dZGd"d#„d#eƒZdS)$éN)Úlog)ÚCommand)ÚDEBUG)Úget_config_vars)ÚDistutilsPlatformError)Ú write_file)Ú convert_pathÚ subst_varsÚ change_root)Ú get_platform)ÚDistutilsOptionError)Ú USER_BASE)Ú USER_SITETz$base/Lib/site-packagesz$base/Include/$dist_namez $base/Scriptsz$base)ÚpurelibÚplatlibÚheadersÚscriptsÚdataz/$base/lib/python$py_version_short/site-packagesz3$platbase/lib/python$py_version_short/site-packagesz9$base/include/python$py_version_short$abiflags/$dist_namez $base/binz$base/lib/pythonz$base/include/python/$dist_name)Ú unix_prefixÚ unix_homeÚntz $usersitez4$userbase/Python$py_version_nodot/Include/$dist_namez)$userbase/Python$py_version_nodot/Scriptsz $userbaseZnt_userz=$userbase/include/python$py_version_short$abiflags/$dist_namez $userbase/binÚ unix_userc@s:eZdZdZdddddddd d d d d ddddddgZdddgZer`e dddef¡e d¡ddiZ dd„Z dd„Z dd „Z d!d"„Z d#d$„Zd%d&„Zd'd(„Zd)d*„Zd+d,„Zd-d.„Zd/d0„Zd1d2„Zd3d4„Zd5d6„Zd7d8„Zd9d:„Zd;d<„Zd=d>„Zd?d@„ZdAdB„ZdCdD„ZdEefdFefdGefdHefdIdJdK„fgZdS)LÚinstallz'install everything from build directory)zprefix=Nzinstallation prefix)z exec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)z install-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=NzÚAttributeErrorÚ distributionZget_nameZ get_versionZ get_fullnameÚ version_infoÚ config_varsÚ HAS_USER_SITEr,r-Úexpand_basedirsrrAÚprintÚ expand_dirsÚcreate_home_pathr)Z ext_modulesr'r&Ú convert_pathsÚhandle_extra_pathÚinstall_libbaseÚpathÚjoinÚ extra_dirsr%Ú change_rootsZset_undefined_options)r6r=r r!r>rAr7r7r8Úfinalize_optionsàsˆ                           zinstall.finalize_optionscCs¤tsdSddlm}t |d¡x||jD]r}|d}|ddkrN|dd…}||jkrz|j|}| |¡}t||ƒ }n| |¡}t||ƒ}t d||¡q*WdS)Nr)Ú longopt_xlateú:éÿÿÿÿú=z %s: %s) rZdistutils.fancy_getoptr^rÚdebugÚ user_optionsÚ negative_optÚ translateÚgetattr)r6Úmsgr^ÚoptZopt_nameÚvalr7r7r8rGus         zinstall.dump_dirscCs"|jdk s|jdk r\|jdkr2|jdkr2|jdksP|jdksP|jdksP|jdkrXtdƒ‚dS|j rŽ|j dkrtt dƒ‚|j |_|_|  d¡n|j dk r²|j |_|_|  d¡nl|jdkrð|jdk rÎtdƒ‚tj tj¡|_tj tj¡|_n|jdkr|j|_|j|_|j|_|  d¡dS)NzPinstall-base or install-platbase supplied, but installation scheme is incompletez$User base directory is not specifiedrrz*must not supply exec-prefix without prefixr)r#r$r)r&r'r(r*r+r rr,rÚ select_schemer"r r!rDrYÚnormpathrJ)r6r7r7r8rHˆs<             zinstall.finalize_unixcCs¼|jr8|jdkrtdƒ‚|j|_|_| tjd¡n€|jdk r\|j|_|_| d¡n\|j dkrvtj   t j ¡|_ |j |_|_y| tj¡Wn"t k r¶tdtjƒ‚YnXdS)Nz$User base directory is not specifiedZ_userrz)I don't know how to install stuff on '%s')rr,rr#r$rjrDrEr"r rYrkrJÚKeyError)r6r7r7r8rI°s"    zinstall.finalize_othercCs@t|}x2tD]*}d|}t||ƒdkrt||||ƒqWdS)NÚinstall_)ÚINSTALL_SCHEMESÚ SCHEME_KEYSrfÚsetattr)r6rEZschemeÚkeyZattrnamer7r7r8rjÆs  zinstall.select_schemecCs\xV|D]N}t||ƒ}|dk rtjdks0tjdkr| ¡D]2}| |¡}x"| ¡D]}||kr&| |¡q&WqW|jrl|jrl| tj |j |jd¡¡|S)Nz.pth) r€Úget_finalized_commandr‚Úappendrzr0rDrYrZrX)r6rˆr‡ÚcmdrŠr7r7r8r‚Ws  zinstall.get_outputscCs2g}x(| ¡D]}| |¡}| | ¡¡qW|S)N)r€r‹ÚextendÚ get_inputs)r6Zinputsr‡rr7r7r8rhs  zinstall.get_inputscCs|j ¡p|j ¡S)N)rNZhas_pure_modulesZhas_ext_modules)r6r7r7r8Úhas_libts zinstall.has_libcCs |j ¡S)N)rNÚ has_headers)r6r7r7r8r‘zszinstall.has_headerscCs |j ¡S)N)rNÚ has_scripts)r6r7r7r8r’szinstall.has_scriptscCs |j ¡S)N)rNZhas_data_files)r6r7r7r8Úhas_data„szinstall.has_datar)r(r*r+Zinstall_egg_infocCsdS)NTr7)r6r7r7r8Úózinstall.) Ú__name__Ú __module__Ú __qualname__Ú descriptionrcZboolean_optionsrQrŒrrdr9r]rGrHrIrjrtrRrTrVrWr\rUr‰rr‚rrr‘r’r“Z sub_commandsr7r7r7r8rIsh    N(  " , r)rJrDZ distutilsrZdistutils.corerZdistutils.debugrZdistutils.sysconfigrZdistutils.errorsrZdistutils.file_utilrZdistutils.utilrr r r r Zsiter rrQZWINDOWS_SCHEMErnrorr7r7r7r8ÚsT