|
@@ -37,10 +37,10 @@ def find_deps(exe_or_dll, search_path, analyzed_deps):
|
|
|
|
|
|
analyzed_deps.add(dep)
|
|
analyzed_deps.add(dep)
|
|
# locate the dll dependencies recursively
|
|
# locate the dll dependencies recursively
|
|
- rdeps = find_deps(dll, search_path, analyzed_deps)
|
|
|
|
|
|
+ analyzed_deps, rdeps = find_deps(dll, search_path, analyzed_deps)
|
|
deps.extend(rdeps)
|
|
deps.extend(rdeps)
|
|
|
|
|
|
- return deps
|
|
|
|
|
|
+ return analyzed_deps, deps
|
|
|
|
|
|
def main():
|
|
def main():
|
|
parser = argparse.ArgumentParser(description="QEMU NSIS build helper.")
|
|
parser = argparse.ArgumentParser(description="QEMU NSIS build helper.")
|
|
@@ -92,18 +92,18 @@ def main():
|
|
dlldir = os.path.join(destdir + prefix, "dll")
|
|
dlldir = os.path.join(destdir + prefix, "dll")
|
|
os.mkdir(dlldir)
|
|
os.mkdir(dlldir)
|
|
|
|
|
|
|
|
+ analyzed_deps = set()
|
|
for exe in glob.glob(os.path.join(destdir + prefix, "*.exe")):
|
|
for exe in glob.glob(os.path.join(destdir + prefix, "*.exe")):
|
|
signcode(exe)
|
|
signcode(exe)
|
|
|
|
|
|
# find all dll dependencies
|
|
# find all dll dependencies
|
|
- deps = set(find_deps(exe, search_path, set()))
|
|
|
|
|
|
+ analyzed_deps, deps = find_deps(exe, search_path, analyzed_deps)
|
|
|
|
+ deps = set(deps)
|
|
deps.remove(exe)
|
|
deps.remove(exe)
|
|
|
|
|
|
# copy all dlls to the DLLDIR
|
|
# copy all dlls to the DLLDIR
|
|
for dep in deps:
|
|
for dep in deps:
|
|
dllfile = os.path.join(dlldir, os.path.basename(dep))
|
|
dllfile = os.path.join(dlldir, os.path.basename(dep))
|
|
- if (os.path.exists(dllfile)):
|
|
|
|
- continue
|
|
|
|
print("Copying '%s' to '%s'" % (dep, dllfile))
|
|
print("Copying '%s' to '%s'" % (dep, dllfile))
|
|
shutil.copy(dep, dllfile)
|
|
shutil.copy(dep, dllfile)
|
|
|
|
|