diff --git a/emsdk b/emsdk index 308b59e..f43f2da 100644 --- a/emsdk +++ b/emsdk @@ -1,6 +1,6 @@ #!/usr/bin/env python -import sys, optparse, subprocess, urllib2, os, os.path, errno, zipfile, string, json, platform, shutil, tarfile +import sys, optparse, subprocess, urllib2, os, os.path, errno, zipfile, string, json, platform, shutil, tarfile, urlparse # EMSDK_DEV is a developer mode flag, which, if true, the SDK is downloaded from a 'staging' online source, # instead of the public source. New releases are first deployed to the staging source for testing, before @@ -238,7 +238,7 @@ def git_clone_checkout_and_pull(url, dstpath, branch): return success def download_and_unzip(zipfile, dst): - success = download_file(emsdk_master_server + zipfile, 'zips/') + success = download_file(urlparse.urljoin(emsdk_master_server, zipfile), 'zips/') if not success: return False if zipfile.endswith('.zip'): @@ -496,7 +496,7 @@ class Tool: elif url.endswith('zip') or url.endswith('.tar') or url.endswith('.gz'): success = download_and_unzip(url, self.installation_path()) else: - success = download_file(emsdk_master_server + self.download_url(), self.installation_path()) + success = download_file(urlparse.urljoin(emsdk_master_server, self.download_url()), self.installation_path()) if not success: print "Installation failed!" return False @@ -566,16 +566,16 @@ def find_latest_sdk(): return sdks[-1] # Newest SDK is always at the end of the list. def update_emsdk(): - download_text_file(emsdk_master_server + 'emsdk_manifest.json', emsdk_path(), download_even_if_exists=True) + download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk_manifest.json'), emsdk_path(), download_even_if_exists=True) if not EMSDK_DEV: - download_text_file(emsdk_master_server + 'emsdk', emsdk_path(), download_even_if_exists=True) - download_text_file(emsdk_master_server + 'README.md', emsdk_path(), download_even_if_exists=True) + download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk'), emsdk_path(), download_even_if_exists=True) + download_text_file(urlparse.urljoin(emsdk_master_server, 'README.md'), emsdk_path(), download_even_if_exists=True) if WINDOWS: - download_text_file(emsdk_master_server + 'emsdk_add_path.bat', emsdk_path(), download_even_if_exists=True) - download_text_file(emsdk_master_server + 'emcmdprompt.bat', emsdk_path(), download_even_if_exists=True) - download_text_file(emsdk_master_server + 'emsdk.bat', emsdk_path(), download_even_if_exists=True) + download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk_add_path.bat'), emsdk_path(), download_even_if_exists=True) + download_text_file(urlparse.urljoin(emsdk_master_server, 'emcmdprompt.bat'), emsdk_path(), download_even_if_exists=True) + download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk.bat'), emsdk_path(), download_even_if_exists=True) else: - download_text_file(emsdk_master_server + 'emsdk_add_path', emsdk_path(), download_even_if_exists=True) + download_text_file(urlparse.urljoin(emsdk_master_server, 'emsdk_add_path'), emsdk_path(), download_even_if_exists=True) print 'Update complete.' def load_sdk_manifest(): @@ -597,7 +597,7 @@ def load_sdk_manifest(): def install(): # TODO: Add parameter to choose which SDK to install. download_and_unzip('clang_3.2_32bit.zip', 'clang/3.2_32bit/') - download_file(emsdk_master_server + 'node_0.10.17_32bit.exe', 'node/0.10.17_32bit/node.exe') + download_file(urlparse.urljoin(emsdk_master_server, 'node_0.10.17_32bit.exe'), 'node/0.10.17_32bit/node.exe') download_and_unzip('python_2.7.5.1_32bit.zip', 'python/2.7.5.1_32bit/') download_and_unzip('git_1.8.3.zip', 'git/1.8.3/') #git_clone_checkout_and_pull(emscripten_git_repo, 'emscripten/', 'incoming')