diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2014-08-07 03:47:23 (GMT) |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2014-08-07 03:47:23 (GMT) |
commit | 2897d07623c95de6a99e8fb2d64cec970b9444c7 (patch) | |
tree | c649d8e949621e1506911d7e97027ed3727b1560 /PCbuild/prepare_ssl.py | |
parent | 869778e520a6bdf0d76e9f9e62fec2554d832f8b (diff) | |
download | cpython-2897d07623c95de6a99e8fb2d64cec970b9444c7.zip cpython-2897d07623c95de6a99e8fb2d64cec970b9444c7.tar.gz cpython-2897d07623c95de6a99e8fb2d64cec970b9444c7.tar.bz2 |
Update prepare_ssl.py script to generate the .asm files.
Diffstat (limited to 'PCbuild/prepare_ssl.py')
-rw-r--r-- | PCbuild/prepare_ssl.py | 39 |
1 files changed, 31 insertions, 8 deletions
diff --git a/PCbuild/prepare_ssl.py b/PCbuild/prepare_ssl.py index 4f11ed9..199c4ef 100644 --- a/PCbuild/prepare_ssl.py +++ b/PCbuild/prepare_ssl.py @@ -81,6 +81,35 @@ def create_makefile64(makefile, m32): fout.write(line) os.unlink(m32) +def create_asms(makefile): + #create a custom makefile out of the provided one + asm_makefile = os.path.splitext(makefile)[0] + '.asm.mak' + with open(makefile) as fin: + with open(asm_makefile, 'w') as fout: + for line in fin: + # Keep everything up to the install target (it's convenient) + if line.startswith('install: all'): + break + else: + fout.write(line) + asms = [] + for line in fin: + if '.asm' in line and line.strip().endswith('.pl'): + asms.append(line.split(':')[0]) + while line.strip(): + fout.write(line) + line = next(fin) + fout.write('\n') + + fout.write('asms: $(TMP_D) ') + fout.write(' '.join(asms)) + fout.write('\n') + + os.system('nmake /f {} PERL=perl asms'.format(asm_makefile)) + os.unlink(asm_makefile) + + + def fix_makefile(makefile): """Fix some stuff in all makefiles """ @@ -164,14 +193,8 @@ def prep(arch): else: print(makefile, 'already exists!') - # If the assembler files don't exist in tmpXX, copy them there - if os.path.exists("asm"+dirsuffix): - if not os.path.exists("tmp"+dirsuffix): - os.mkdir("tmp"+dirsuffix) - for f in os.listdir("asm"+dirsuffix): - if not f.endswith(".asm"): continue - if os.path.isfile(r"tmp%s\%s" % (dirsuffix, f)): continue - shutil.copy(r"asm%s\%s" % (dirsuffix, f), "tmp"+dirsuffix) + print('creating asms...') + create_asms(makefile) def main(): if len(sys.argv) == 1: |