def build(recipe_dir): env = dict(os.environ) env.update(environ.get_dict()) env['RECIPE_DIR'] = recipe_dir for name in 'BIN', 'INC', 'LIB': path = env['LIBRARY_' + name] if not isdir(path): os.makedirs(path) src_dir = source.get_dir() bld_bat = join(recipe_dir, 'bld.bat') with open(bld_bat) as fi: data = fi.read() with open(join(src_dir, 'bld.bat'), 'w') as fo: fo.write(msvc_env_cmd()) # more debuggable with echo on fo.write('@echo on\n') for kv in env.iteritems(): fo.write('set %s=%s\n' % kv) fo.write("REM ===== end generated header =====\n") fo.write(data) cmd = [os.environ['COMSPEC'], '/c', 'bld.bat'] _check_call(cmd, cwd=src_dir) kill_processes() fix_staged_scripts()
def get_dict(): d = {"CONDA_BUILD": "1"} d["PREFIX"] = build_prefix d["PYTHON"] = build_python d["PY3K"] = str(PY3K) d["STDLIB_DIR"] = stdlib_dir d["SP_DIR"] = sp_dir d["SYS_PREFIX"] = sys.prefix d["SYS_PYTHON"] = sys.executable d["PY_VER"] = py_ver d["SRC_DIR"] = source.get_dir() if sys.platform == "win32": # -------- Windows d["PATH"] = ( join(build_prefix, "Library", "bin") + ";" + join(build_prefix) + ";" + join(build_prefix, "Scripts") + ";%PATH%" ) d["SCRIPTS"] = join(build_prefix, "Scripts") d["LIBRARY_PREFIX"] = join(build_prefix, "Library") d["LIBRARY_BIN"] = join(d["LIBRARY_PREFIX"], "bin") d["LIBRARY_INC"] = join(d["LIBRARY_PREFIX"], "include") d["LIBRARY_LIB"] = join(d["LIBRARY_PREFIX"], "lib") else: # -------- Unix d["PATH"] = build_prefix + "/bin:/usr/local/bin:/bin:/usr/bin" d["HOME"] = os.getenv("HOME", "UNKNOWN") d["LANG"] = "en_US.UTF-8" if sys.platform == "darwin": # -------- OSX d["OSX_ARCH"] = "i386" if cc.bits == 32 else "x86_64" d["CFLAGS"] = "-arch %(OSX_ARCH)s" % d d["CXXFLAGS"] = d["CFLAGS"] d["LDFLAGS"] = d["CFLAGS"] d["MACOSX_DEPLOYMENT_TARGET"] = "10.5" elif sys.platform == "linux2": # -------- Linux d["LD_RUN_PATH"] = build_prefix + "/lib" return d