\d= hdZddlZddlZ ddlZn#e$rddlZYnwxYwdZdZdZdZ dZ dZ dS) zShared AIX support functions.Nctjdkrdnd}|dkr|nd}d|d|d|d||S) Ni @r'zaix-{:1x}{:1d}{:02d}-{:04d}-{})sysmaxsizeformat)vrtlbd_sz_bds ..\python\lib\_aix_support.py_aix_tagrsS ((""bCa""TC + 2 247DGT!WcSV W WWc|ddd\}}}t|dt|t|gS)N.)splitint)vrmfvrtls r _aix_vrtlrsCzz#rr"HAq" "JJAB ((rctjgd}|d}|d}|ddkrt |dnd}t |d|fS)a( Return a Tuple[str, int] e.g., ['7.1.4.34', 1806] The fileset bos.rte represents the current AIX run-time level. It's VRMF and builddate reflect the current ABI levels of the runtime environment. If no builddate is found give a value that will satisfy pep425 related queries )z/usr/bin/lslppz-Lqczbos.rtezutf-8:rrr) subprocess check_outputdecodestriprrstr)outrs r _aix_bos_rter's{  !"G"G"G H HC **W  C ))++  C Cb'R--#c"g,,,TC AKK rc^t\}}tt||S)a AIX filesets are identified by four decimal values: V.R.M.F. V (version) and R (release) can be retrieved using ``uname`` Since 2007, starting with AIX 5.3 TL7, the M value has been included with the fileset bos.rte and represents the Technology Level (TL) of AIX. The F (Fix) value also increases, but is not relevant for comparing releases and binary compatibility. For binary compatibility the so-called builddate is needed. Again, the builddate of an AIX release is associated with bos.rte. AIX ABI compatibility is described as guaranteed at: https://www.ibm.com/ support/knowledgecenter/en/ssw_aix_72/install/binary_compatability.html For pep425 purposes the AIX platform tag becomes: "aix-{:1x}{:1d}{:02d}-{:04d}-{}".format(v, r, tl, builddate, bitsize) e.g., "aix-6107-1415-32" for AIX 6.1 TL7 bd 1415, 32-bit and, "aix-6107-1415-64" for AIX 6.1 TL7 bd 1415, 64-bit )r'rr)rr s r aix_platformr).s'&~~HD" IdOOR ( ((rcltjd}|stdt|S)NBUILD_GNU_TYPEzBUILD_GNU_TYPE is not defined)r) sysconfigget_config_var ValueErrorr)gnu_types r_aix_bgtr0Fs;'(899H :8999 ( # # ##rctjd} t|}n'#ttf$rtd|wxYwt t |S)zD Return the platform_tag of the system Python was built on. AIX_BUILDDATEz)AIX_BUILDDATE is not defined or invalid: )r,r-rr. TypeErrorrr0) build_dates r aix_buildtagr5Ns)/::J,__  ",,,+&++,, ,, HJJ + ++s &$A ) __doc__r r,r! ImportError_bootsubprocessrrr'r)r0r5rrr:s## )))))((((() XXX)))    )))0$$$ , , , , ,s