예제 #1
0
파일: windows.py 프로젝트: rhs2132/conda
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()
예제 #2
0
파일: environ.py 프로젝트: rhs2132/conda
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