[2] | 1 | from __future__ import with_statement
|
---|
| 2 | import os
|
---|
| 3 |
|
---|
| 4 | def vs9to8(src, dest):
|
---|
| 5 | for name in os.listdir(src):
|
---|
| 6 | path, ext = os.path.splitext(name)
|
---|
| 7 | if ext.lower() not in ('.sln', '.vcproj', '.vsprops'):
|
---|
| 8 | continue
|
---|
| 9 |
|
---|
| 10 | filename = os.path.normpath(os.path.join(src, name))
|
---|
| 11 | destname = os.path.normpath(os.path.join(dest, name))
|
---|
| 12 | print("%s -> %s" % (filename, destname))
|
---|
| 13 |
|
---|
| 14 | with open(filename, 'rU') as fin:
|
---|
| 15 | lines = fin.read()
|
---|
| 16 | lines = lines.replace('Version="9,00"', 'Version="8.00"')
|
---|
| 17 | lines = lines.replace('Version="9.00"', 'Version="8.00"')
|
---|
| 18 | lines = lines.replace('Format Version 10.00', 'Format Version 9.00')
|
---|
| 19 | lines = lines.replace('Visual Studio 2008', 'Visual Studio 2005')
|
---|
| 20 |
|
---|
| 21 | lines = lines.replace('wininst-9.0', 'wininst-8.0')
|
---|
| 22 | lines = lines.replace('..\\', '..\\..\\')
|
---|
| 23 | lines = lines.replace('..\\..\\..\\..\\', '..\\..\\..\\')
|
---|
| 24 |
|
---|
| 25 | # Bah. VS8.0 does not expand macros in file names.
|
---|
| 26 | # Replace them here.
|
---|
[391] | 27 | lines = lines.replace('$(sqlite3Dir)', '..\\..\\..\\sqlite-3.6.21')
|
---|
[2] | 28 | lines = lines.replace('$(bsddbDir)\\..\\..', '..\\..\\..\\db-4.7.25.0\\build_windows\\..')
|
---|
| 29 | lines = lines.replace('$(bsddbDir)', '..\\..\\..\\db-4.7.25.0\\build_windows')
|
---|
| 30 |
|
---|
| 31 | with open(destname, 'wb') as fout:
|
---|
| 32 | lines = lines.replace("\n", "\r\n")
|
---|
| 33 | fout.write(lines)
|
---|
| 34 |
|
---|
| 35 | if __name__ == "__main__":
|
---|
| 36 | vs9to8(src=".", dest="../PC/VS8.0")
|
---|