o 6a@s<ddlZddlmZddlmZddZGdddeZdS) N) MSVCCompiler) platform_bitscCs"|s|S||vr |Sd||gS)aConcatenate two environment paths avoiding repeats. Here `old` is the environment string before the base class initialize function is called and `new` is the string after the call. The new string will be a fixed string if it is not obtained from the current environment, or the same as the old string if obtained from the same environment. The aim here is not to append the new string if it is already contained in the old string so as to limit the growth of the environment string. Parameters ---------- old : string Previous environment string. new : string New environment string. Returns ------- ret : string Updated environment string. ;)join)oldnewr ?/usr/lib/python3/dist-packages/numpy/distutils/msvc9compiler.py_merges r c@s(eZdZd ddZd ddZddZdS) rrcCst||||dSN) _MSVCCompiler__init__)selfverbosedry_runforcer r r r(szMSVCCompiler.__init__NcCs|td}td}t||t|tjdtjd<t|tjdtjd<tdkr<|jdg7_|jdg7_dSdS)Nlibinclude z /arch:SSE2) osgetenvr initializer environrcompile_optionscompile_options_debug)r plat_name environ_libenviron_includer r r r+s   zMSVCCompiler.initializecCs|dt||||dS)Nz /MANIFEST)appendr manifest_setup_ldargs)routput_filename build_templd_argsr r r r <s z"MSVCCompiler.manifest_setup_ldargs)rrrr )__name__ __module__ __qualname__rrr r r r r r's   r)rdistutils.msvc9compilerrr system_inforr r r r r s