Index: visual_studio/NativeClientVSAddIn/create_package.py |
diff --git a/visual_studio/NativeClientVSAddIn/create_package.py b/visual_studio/NativeClientVSAddIn/create_package.py |
index 44050a4ec5398ae9a77fb89afddc15a359d912b4..9c74e9e895b736b1d2feeca18d52a089924197df 100644 |
--- a/visual_studio/NativeClientVSAddIn/create_package.py |
+++ b/visual_studio/NativeClientVSAddIn/create_package.py |
@@ -132,6 +132,24 @@ def WriteFileToArchive(archive, filename, archive_name): |
archive.add(filename, archive_name) |
+def CopyWithReplacement(src, dest, replacements): |
+ if os.path.exists(dest): |
+ shutil.rmtree(dest) |
+ os.makedirs(dest) |
+ src_basename = os.path.basename(src) |
+ dest_basename = os.path.basename(dest) |
+ for filename in os.listdir(src): |
+ srcfile = join(src, filename) |
+ # skip non-files, in particular .svn folders. |
+ if not os.path.isfile(srcfile): |
+ continue |
+ destfile = join(dest, filename.replace(src_basename, dest_basename)) |
+ data = open(srcfile, "rb").read() |
+ for pat, subst in replacements.iteritems(): |
+ data = data.replace(pat, subst) |
+ open(destfile, "wb").write(data) |
+ |
+ |
def main(): |
if not os.path.exists(BUILD_DIR): |
Error("build dir not found: %s" % BUILD_DIR) |
@@ -146,22 +164,25 @@ def main(): |
# Duplicate the NaCl64 platform but rename it to NaCl32 |
src64 = join(RESOURCE_DIRECTORY, 'NaCl64') |
- dest32 = join(BUILD_DIR, 'NaCl32') |
- if os.path.exists(dest32): |
- shutil.rmtree(dest32) |
- os.makedirs(dest32) |
- for filename in os.listdir(src64): |
- srcfile = join(src64, filename) |
- # skip non-files, in particular .svn folders. |
- if not os.path.isfile(srcfile): |
- continue |
- destfile = join(dest32, filename.replace('NaCl64', 'NaCl32')) |
- data = open(srcfile, "rb").read() |
- data = data.replace("x86_64", "i686") |
- data = data.replace("64", "32") |
- open(destfile, "wb").write(data) |
- AddFolderToArchive(join(BUILD_DIR, "NaCl32"), archive, "NaCl32") |
+ dest = join(BUILD_DIR, 'NaCl32') |
+ CopyWithReplacement(src64, dest, {'x86_64': 'i686', '64': '32'}) |
+ AddFolderToArchive(dest, archive, "NaCl32") |
+ |
+ replacements = { |
binji
2012/10/29 18:08:59
nit: probably should inline this below or rename t
|
+ 'NaCl64': 'PNaCl', |
+ 'x86_64': 'i686', |
+ '64': '32', |
+ '.nexe': '.pexe', |
+ 'nacl_link.xml': 'pnacl_link.xml', |
+ r'win_x86_$(ToolchainName)\bin': r'win_x86_pnacl\newlib\bin', |
+ r'$(TargetArchitecture)-nacl-gcc.exe': 'pnacl-clang.bat', |
+ r'$(TargetArchitecture)-nacl-g++.exe': 'pnacl-clang++.bat', |
+ } |
+ |
+ dest = join(BUILD_DIR, 'PNaCl') |
+ CopyWithReplacement(src64, dest, replacements) |
+ AddFolderToArchive(dest, archive, "PNaCl") |
AddVersionModifiedAddinFile(archive) |
archive.close() |