tzh
2024-08-22 c7d0944258c7d0943aa7b2211498fd612971ce27
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
\\¬Qc@s{dZdZddlZddlmZddlmZddlmZddl    m
Z
d„Z d    efd
„ƒYZ dS( s´distutils.command.build_clib
 
Implements the Distutils 'build_clib' command, to build a C/C++ library
that is included in the module distribution and needed by an extension
module.s$Id$iÿÿÿÿN(tCommand(tDistutilsSetupError(tcustomize_compiler(tlogcCsddlm}|ƒdS(Niÿÿÿÿ(tshow_compilers(tdistutils.ccompilerR(R((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pyRst
build_clibcBsƒeZdZdddddgZdd
gZdddefgZd„Zd„Z    d„Z
d„Z d„Z d„Z d„ZRS(s/build C/C++ libraries used by Python extensionss build-clib=tbs%directory to build C/C++ libraries tos build-temp=tts,directory to put temporary build by-productstdebugtgs"compile with debugging informationtforcetfs2forcibly build everything (ignore file timestamps)s    compiler=tcsspecify the compiler types help-compilerslist available compilerscCsUd|_d|_d|_d|_d|_d|_d|_d|_d|_    dS(Ni(
tNoneRt
build_tempt    librariest include_dirstdefinetundefR    R tcompiler(tself((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pytinitialize_options6s                                cCsŸ|jdddd    d
d ƒ|jj|_|jrG|j|jƒn|jdkrn|jjpeg|_nt|jtƒr›|jjt    j
ƒ|_ndS( NtbuildRRRR    R (s
build_temps
build_clib(s
build_temps
build_temp(scompilerscompiler(sdebugsdebug(sforcesforce( tset_undefined_optionst distributionRtcheck_library_listRRt
isinstancetstrtsplittostpathsep(R((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pytfinalize_optionsFs        cCsÿ|js dSddlm}|d|jd|jd|jƒ|_t|jƒ|jdk    rv|jj    |jƒn|j
dk    rµx-|j
D]\}}|jj ||ƒqWn|j dk    rëx$|j D]}|jj |ƒqÎWn|j|jƒdS(Niÿÿÿÿ(t new_compilerRtdry_runR (RRR!RR"R RRRtset_include_dirsRt define_macroRtundefine_macrotbuild_libraries(RR!tnametvaluetmacro((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pytrun_s          cCsêt|tƒstd‚nxÈ|D]À}t|tƒ rVt|ƒdkrVtd‚n|\}}t|tƒstdd‚nd|ks«tjdkrÃtj|krÃtdd|d    ‚nt|tƒs"td
d ‚q"q"Wd S( s`Ensure that the list of libraries is valid.
 
        `library` is presumably provided as a command option 'libraries'.
        This method checks that it is a list of 2-tuples, where the tuples
        are (library_name, build_info_dict).
 
        Raise DistutilsSetupError if the structure is invalid anywhere;
        just returns otherwise.
        s+'libraries' option must be a list of tuplesis*each element of 'libraries' must a 2-tuples+first element of each tuple in 'libraries' s#must be a string (the library name)t/sbad library name '%s': s$may not contain directory separatorsis,second element of each tuple in 'libraries' s!must be a dictionary (build info)N(    RtlistRttupletlenRRtseptdict(RRtlibR't
build_info((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pyRws*
     "     
*cCs>|js dSg}x$|jD]\}}|j|ƒqW|S(N(RRtappend(Rt    lib_namestlib_nameR2((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pytget_library_names›s     cCs‚|j|jƒg}xe|jD]Z\}}|jdƒ}|dks]t|ttfƒ rmtd|‚n|j|ƒq W|S(Ntsourcessfin 'libraries' option (library '%s'), 'sources' must be present and must be a list of source filenames(    RRtgetRRR,R-Rtextend(Rt    filenamesR5R2R7((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pytget_source_files§s"
c Csóxì|D]ä\}}|jdƒ}|dksDt|ttfƒ r\tddd|‚nt|ƒ}tjd|ƒ|jdƒ}|jdƒ}|jj    |d|j
d|d|d    |j ƒ}|jj ||d|j d    |j ƒqWdS(
NR7s&in 'libraries' option (library '%s'), s&'sources' must be present and must be sa list of source filenamessbuilding '%s' librarytmacrosRt
output_dirR    (R8RRR,R-RRtinfoRtcompileRR    tcreate_static_libR(RRR5R2R7R<Rtobjects((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pyR&µs$"          (s build-clib=Rs%directory to build C/C++ libraries to(s build-temp=Rs,directory to put temporary build by-products(sdebugR
s"compile with debugging information(sforceR s2forcibly build everything (ignore file timestamps)(s    compiler=R sspecify the compiler typeN(t__name__t
__module__t descriptiont user_optionstboolean_optionsRRt help_optionsRR R*RR6R;R&(((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pyRs*                     $        ( t__doc__t __revision__Rtdistutils.coreRtdistutils.errorsRtdistutils.sysconfigRt    distutilsRRR(((sd/tmp/ndk-User/buildhost/install/prebuilt/darwin-x86_64/lib/python2.7/distutils/command/build_clib.pyt<module>s