pJc @sdZdZddkZddkZddkZddkZddklZeii ei Z eii ei Z eiieiieiZeiieddZeiieZ[dZddd Zdddd Zd Zd Zd ZddZeidZeidZ eidZ!ddZ"dZ#da$dZ%dZ&dZ'dZ(dZ)dZ*dS(sProvide 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: s>$Id: sysconfig.py 52234 2006-10-08 17:50:26Z ronald.oussoren $iN(tDistutilsPlatformErrortModulestSetupcCs tid S(sReturn a string containing the major and minor Python version, leaving off the patchlevel. Sample return values could be '1.5' or '2.2'. i(tsystversion(((s&/sys/lib/python/distutils/sysconfig.pytget_python_version%sicCs|d jo|otpt}ntidjototiitiit i }|o |}nNtii |d}tii |p%tii tii|d}n|Sntii |ddSntidjotii |dSntidjo8|otii |ddSqtii |dSn;tidjotii |dSnt d tid S( sReturn 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.prefix or sys.exec_prefix -- i.e., ignore 'plat_specific'. tposixtIncludetincludetpythontnttmactMactos2sFI don't know where Python installs its C header files on platform '%s'N(tNonet EXEC_PREFIXtPREFIXtostnamet python_buildtpathtdirnametabspathRt executabletjointexistsR(t plat_specifictprefixtbasetinc_dir((s&/sys/lib/python/distutils/sysconfig.pytget_python_inc-s. ! %cCs|d jo|otpt}ntidjo,|}|o|Sqtii|dSnFtidjoP|otii|dSqtdjo|SqtiitddSntidjoz|o;|otii|ddSqGtii|ddSq|otii|dSqtii|ddSn\tidjo8|otiitdSqtiitddSntd tid S( sIReturn 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.prefix or sys.exec_prefix -- i.e., ignore 'plat_specific'. Rs site-packagesR tLibs2.2R s lib-dynloadR s?I don't know where Python installs its library on platform '%s'N( RRRRRRRRR(Rt standard_libRt libpython((s&/sys/lib/python/distutils/sysconfig.pytget_python_libUs8 c Cs|idjotddddddd\}}}}}}}tiidotid}ntiidotid}ntiidotid}ntiid otid }n |d }tiid o|d tid }ntiido.|d tid}|d tid}ntiid oC|d tid }|d tid }|d tid }n|d |} |id|d| d| d |d|d|d|||_ndS(sDo any platform-specific customization of a CCompiler instance. Mainly needed on Unix, so we can plug in the information that varies across Unices and is stored in Python's Makefile. tunixtCCtCXXtOPTtCFLAGStCCSHAREDtLDSHAREDtSOtCPPs -EtLDFLAGSt tCPPFLAGSt preprocessortcompilert compiler_sot compiler_cxxt linker_sot linker_exeN(t compiler_typetget_config_varsRtenvironthas_keytset_executablestshared_lib_extension( R0tcctcxxtopttcflagstccsharedtldsharedtso_exttcpptcc_cmd((s&/sys/lib/python/distutils/sysconfig.pytcustomize_compilers<$  cCsSto t}ntdd}tdjo d}nd}tii||S(s2Return full pathname of installed pyconfig.h file.Ris2.2sconfig.hs pyconfig.h(Rt argv0_pathRRRRR(Rtconfig_h((s&/sys/lib/python/distutils/sysconfig.pytget_config_h_filenames  cCsXto&tiitiitidSntdddd}tii|ddS(sAReturn full pathname of installed Makefile from the Python build.tMakefileRiR tconfig(RRRRRRRR"(tlib_dir((s&/sys/lib/python/distutils/sysconfig.pytget_makefile_filenames&cCs|djo h}ntid}tid}x|i}|pPn|i|}|oL|idd\}}yt|}Wntj onX||| s>    ! (; +    G  P    3