U âQabJ ã@sHddlmZddlZddlZddlZdd„Zdd„Zdd„Zd d „ZdS) é)Úabsolute_importNcCsRt d¡}z |j}Wntk r*YdSXtj|_|ƒ}t|tƒsN| d¡}|S)z9Returns glibc version string, or None if not using glibc.NÚascii) ÚctypesZCDLLÚgnu_get_libc_versionÚAttributeErrorZc_char_pZrestypeÚ isinstanceÚstrÚdecode)Zprocess_namespacerÚ version_str©r ú4/usr/lib/python3.8/site-packages/setuptools/glibc.pyÚglibc_version_string s    r cCsHt d|¡}|s$t d|t¡dSt| d¡ƒ|koFt| d¡ƒ|kS)Nz$(?P[0-9]+)\.(?P[0-9]+)z=Expected glibc version with 2 components major.minor, got: %sFÚmajorÚminor)ÚreÚmatchÚwarningsÚwarnÚRuntimeWarningÚintÚgroup)r Úrequired_majorÚ minimum_minorÚmr r r Úcheck_glibc_version$s ÿÿÿrcCstƒ}|dkrdSt|||ƒS)NF)r r)rrr r r r Úhave_compatible_glibc4srcCstƒ}|dkrdSd|fSdS)z“Try to determine the glibc version Returns a tuple of strings (lib, version) which default to empty strings in case the lookup fails. N)ÚrZglibc)r )Z glibc_versionr r r Úlibc_verLsr) Z __future__rrrrr rrrr r r r Ús