Skip to content

Commit

Permalink
Fix snapshot.py for win64
Browse files Browse the repository at this point in the history
  • Loading branch information
brson committed Sep 9, 2014
1 parent 0c73e5f commit 3ebf25e
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
2 changes: 1 addition & 1 deletion mk/dist.mk
Expand Up @@ -123,7 +123,7 @@ PKG_EXE = dist/$(PKG_NAME)-install.exe
$(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)" $<

Expand Down
6 changes: 3 additions & 3 deletions src/etc/copy-runtime-deps.py
Expand Up @@ -12,13 +12,13 @@

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")
if os.path.exists(lic_dest):
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])
18 changes: 12 additions & 6 deletions src/etc/snapshot.py
Expand Up @@ -39,8 +39,10 @@ def scrub(b):
"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
Expand Down Expand Up @@ -146,10 +148,14 @@ def hash_file(x):
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:
Expand Down Expand Up @@ -189,7 +195,7 @@ def in_tar_name(fn):
"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")
Expand Down

5 comments on commit 3ebf25e

@bors
Copy link
Contributor

@bors bors commented on 3ebf25e Sep 10, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

saw approval from alexcrichton
at brson@3ebf25e

@bors
Copy link
Contributor

@bors bors commented on 3ebf25e Sep 10, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merging brson/rust/win64snap = 3ebf25e into auto

@bors
Copy link
Contributor

@bors bors commented on 3ebf25e Sep 10, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

brson/rust/win64snap = 3ebf25e merged ok, testing candidate = 4049a4d

@bors
Copy link
Contributor

@bors bors commented on 3ebf25e Sep 10, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bors
Copy link
Contributor

@bors bors commented on 3ebf25e Sep 10, 2014

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fast-forwarding master to auto = 4049a4d

Please sign in to comment.