| |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
|
|
| import common_ship |
|
|
| import multiprocessing |
| import os |
| import shutil |
| import subprocess |
| import sys |
|
|
| os.chdir(common_ship.topDir) |
|
|
| def dllVersion(path): |
| version = subprocess.check_output( |
| ["powershell.exe", |
| "[System.Diagnostics.FileVersionInfo]::GetVersionInfo(\"" + path + "\").FileVersion"]) |
| return version.strip() |
|
|
| |
| print "Determining Cygwin/MSYS2 DLL versions..." |
| sys.stdout.flush() |
| BUILD_TARGETS = [ |
| |
| |
| |
| |
| |
| |
| { |
| "name": "msys2-" + dllVersion("C:\\msys32\\usr\\bin\\msys-2.0.dll") + "-ia32", |
| "path": "C:\\msys32\\mingw32\\bin;C:\\msys32\\usr\\bin", |
| }, |
| { |
| "name": "msys2-" + dllVersion("C:\\msys64\\usr\\bin\\msys-2.0.dll") + "-x64", |
| "path": "C:\\msys64\\mingw64\\bin;C:\\msys64\\usr\\bin", |
| }, |
| { |
| "name": "cygwin-" + dllVersion("C:\\cygwin\\bin\\cygwin1.dll") + "-ia32", |
| "path": "C:\\cygwin\\bin", |
| }, |
| { |
| "name": "cygwin-" + dllVersion("C:\\cygwin64\\bin\\cygwin1.dll") + "-x64", |
| "path": "C:\\cygwin64\\bin", |
| }, |
| ] |
|
|
| def buildTarget(target): |
| packageName = "winpty-" + common_ship.winptyVersion + "-" + target["name"] |
| if os.path.exists("ship\\packages\\" + packageName): |
| shutil.rmtree("ship\\packages\\" + packageName) |
| oldPath = os.environ["PATH"] |
| os.environ["PATH"] = target["path"] + ";" + common_ship.defaultPathEnviron |
| subprocess.check_call(["sh.exe", "configure"]) |
| makeBinary = target.get("make_binary", "make.exe") |
| subprocess.check_call([makeBinary, "clean"]) |
| makeBaseCmd = [ |
| makeBinary, |
| "USE_PCH=0", |
| "COMMIT_HASH=" + common_ship.commitHash, |
| "PREFIX=ship/packages/" + packageName |
| ] |
| subprocess.check_call(makeBaseCmd + ["all", "tests", "-j%d" % multiprocessing.cpu_count()]) |
| subprocess.check_call(["build\\trivial_test.exe"]) |
| subprocess.check_call(makeBaseCmd + ["install"]) |
| subprocess.check_call(["tar.exe", "cvfz", |
| packageName + ".tar.gz", |
| packageName], cwd=os.path.join(os.getcwd(), "ship", "packages")) |
| os.environ["PATH"] = oldPath |
|
|
| def main(): |
| oldPath = os.environ["PATH"] |
| for t in BUILD_TARGETS: |
| os.environ["PATH"] = t["path"] + ";" + common_ship.defaultPathEnviron |
| subprocess.check_output(["tar.exe", "--help"]) |
| subprocess.check_output(["make.exe", "--help"]) |
| for t in BUILD_TARGETS: |
| buildTarget(t) |
|
|
| if __name__ == "__main__": |
| main() |
|
|