$(PKG_EXE): rust.iss modpath.iss upgrade.iss LICENSE.txt rust-logo.ico \
$(CSREQ3_T_$(CFG_BUILD)_H_$(CFG_BUILD)) \
dist-prepare-win
- $(CFG_PYTHON) $(S)src/etc/copy-runtime-deps.py tmp/dist/win/bin
+ $(CFG_PYTHON) $(S)src/etc/copy-runtime-deps.py tmp/dist/win/bin $(CFG_BUILD)
@$(call E, ISCC: $@)
$(Q)"$(CFG_ISCC)" $<
import snapshot, sys, os, shutil
-def copy_runtime_deps(dest_dir):
- for path in snapshot.get_winnt_runtime_deps():
+def copy_runtime_deps(dest_dir, triple):
+ for path in snapshot.get_winnt_runtime_deps(snapshot.get_platform(triple)):
shutil.copy(path, dest_dir)
lic_dest = os.path.join(dest_dir, "third-party")
shutil.rmtree(lic_dest) # copytree() won't overwrite existing files
shutil.copytree(os.path.join(os.path.dirname(__file__), "third-party"), lic_dest)
-copy_runtime_deps(sys.argv[1])
+copy_runtime_deps(sys.argv[1], sys.argv[2])
"freebsd": ["bin/rustc"],
}
-winnt_runtime_deps = ["libgcc_s_dw2-1.dll",
- "libstdc++-6.dll"]
+winnt_runtime_deps_32 = ["libgcc_s_dw2-1.dll",
+ "libstdc++-6.dll"]
+winnt_runtime_deps_64 = ["libgcc_s_seh-1.dll",
+ "libstdc++-6.dll"]
def parse_line(n, line):
global snapshotfile
return scrub(h.hexdigest())
# Returns a list of paths of Rust's system runtime dependencies
-def get_winnt_runtime_deps():
+def get_winnt_runtime_deps(platform):
+ if platform == "winnt-x86_64":
+ deps = winnt_runtime_deps_64
+ else:
+ deps = winnt_runtime_deps_32
runtime_deps = []
- path_dirs = os.environ["PATH"].split(';')
- for name in winnt_runtime_deps:
+ path_dirs = os.environ["PATH"].split(os.pathsep)
+ for name in deps:
for dir in path_dirs:
matches = glob.glob(os.path.join(dir, name))
if matches:
"Please make a clean build." % "\n ".join(matches))
if kernel=="winnt":
- for path in get_winnt_runtime_deps():
+ for path in get_winnt_runtime_deps(platform):
tar.add(path, "rust-stage0/bin/" + os.path.basename(path))
tar.add(os.path.join(os.path.dirname(__file__), "third-party"),
"rust-stage0/bin/third-party")