From 856bf9a4e962ec118bcbfc5150825b256f2b8e2e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Tue, 14 Feb 2006 20:42:55 +0000 Subject: Add build support for AMD64. --- Misc/NEWS | 2 ++ PCbuild/_bsddb.vcproj | 62 +++++++++++++++++++++++++++++++++ PCbuild/_elementtree.vcproj | 61 +++++++++++++++++++++++++++++++++ PCbuild/_socket.vcproj | 61 +++++++++++++++++++++++++++++++++ PCbuild/_ssl.vcproj | 13 +++++++ PCbuild/_testcapi.vcproj | 59 ++++++++++++++++++++++++++++++++ PCbuild/_tkinter.vcproj | 62 +++++++++++++++++++++++++++++++++ PCbuild/bz2.vcproj | 65 +++++++++++++++++++++++++++++++++++ PCbuild/make_buildinfo.c | 9 ++--- PCbuild/pcbuild.sln | 34 +++++++++++++++++++ PCbuild/pyexpat.vcproj | 61 +++++++++++++++++++++++++++++++++ PCbuild/python.vcproj | 64 ++++++++++++++++++++++++++++++++++ PCbuild/pythoncore.vcproj | 83 +++++++++++++++++++++++++++++++++++++++++++-- PCbuild/pythonw.vcproj | 62 +++++++++++++++++++++++++++++++++ PCbuild/readme.txt | 7 ++++ PCbuild/select.vcproj | 62 +++++++++++++++++++++++++++++++++ PCbuild/unicodedata.vcproj | 59 ++++++++++++++++++++++++++++++++ PCbuild/winsound.vcproj | 60 ++++++++++++++++++++++++++++++++ Tools/msi/msi.py | 15 ++++---- Tools/msi/msilib.py | 40 ++++++++++++++++++---- Tools/msi/msisupport.mak | 13 +++++++ 21 files changed, 933 insertions(+), 21 deletions(-) diff --git a/Misc/NEWS b/Misc/NEWS index c9e7a30..a7e54ad 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -699,6 +699,8 @@ Library Build ----- +- Build support for Win64-AMD64 was added. + - Patch #1428494: Prefer linking against ncursesw over ncurses library. - Patch #881820: look for openpty and forkpty also in libbsd. diff --git a/PCbuild/_bsddb.vcproj b/PCbuild/_bsddb.vcproj index e10b9d8..798fd68 100644 --- a/PCbuild/_bsddb.vcproj +++ b/PCbuild/_bsddb.vcproj @@ -183,6 +183,68 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/_elementtree.vcproj b/PCbuild/_elementtree.vcproj index e37bf28..e7f9117 100644 --- a/PCbuild/_elementtree.vcproj +++ b/PCbuild/_elementtree.vcproj @@ -181,6 +181,67 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/_socket.vcproj b/PCbuild/_socket.vcproj index 008cd3d..3078f6d 100644 --- a/PCbuild/_socket.vcproj +++ b/PCbuild/_socket.vcproj @@ -180,6 +180,67 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/_ssl.vcproj b/PCbuild/_ssl.vcproj index 3bcd564..373e948 100644 --- a/PCbuild/_ssl.vcproj +++ b/PCbuild/_ssl.vcproj @@ -50,6 +50,19 @@ ReBuildCommandLine="python build_ssl.py -a" Output="_ssl.pyd"/> + + + diff --git a/PCbuild/_testcapi.vcproj b/PCbuild/_testcapi.vcproj index 46eac06..3f8ef30 100644 --- a/PCbuild/_testcapi.vcproj +++ b/PCbuild/_testcapi.vcproj @@ -175,6 +175,65 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/_tkinter.vcproj b/PCbuild/_tkinter.vcproj index afacc51..f33f7f8 100644 --- a/PCbuild/_tkinter.vcproj +++ b/PCbuild/_tkinter.vcproj @@ -183,6 +183,68 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/bz2.vcproj b/PCbuild/bz2.vcproj index 8083a35..affccf9 100644 --- a/PCbuild/bz2.vcproj +++ b/PCbuild/bz2.vcproj @@ -193,6 +193,71 @@ nmake /nologo /f makefile.msc lib + + + + + + + + + + + + + + + diff --git a/PCbuild/make_buildinfo.c b/PCbuild/make_buildinfo.c index 0b28ade..b7b7ebc 100644 --- a/PCbuild/make_buildinfo.c +++ b/PCbuild/make_buildinfo.c @@ -58,15 +58,16 @@ int main(int argc, char*argv[]) } if (strcmp(argv[1], "Release") == 0) { strcat(command, "-MD "); - //strcpy(targetdir, "x86-temp-debug"); } else if (strcmp(argv[1], "Debug") == 0) { strcat(command, "-D_DEBUG -MDd "); - //strcpy(targetdir, "x86-temp-release"); } - else if (strcmp(argv[1], "ReleaseItanium")) { + else if (strcmp(argv[1], "ReleaseItanium") == 0) { + strcat(command, "-MD /USECL:MS_ITANIUM "); + } + else if (strcmp(argv[1], "ReleaseAMD64") == 0) { strcat(command, "-MD "); - //strcpy(targetdir, "ia64-temp-release"); + strcat(command, "-MD /USECL:MS_OPTERON "); } else { fprintf(stderr, "unsupported configuration %s\n", argv[1]); diff --git a/PCbuild/pcbuild.sln b/PCbuild/pcbuild.sln index 7ccab0a..5e4681e 100644 --- a/PCbuild/pcbuild.sln +++ b/PCbuild/pcbuild.sln @@ -88,6 +88,7 @@ Global GlobalSection(SolutionConfiguration) = preSolution Debug = Debug Release = Release + ReleaseAMD64 = ReleaseAMD64 ReleaseItanium = ReleaseItanium EndGlobalSection GlobalSection(ProjectConfiguration) = postSolution @@ -95,101 +96,134 @@ Global {E1DBB220-D64B-423D-A545-539A55AA7FE2}.Debug.Build.0 = Debug|Win32 {E1DBB220-D64B-423D-A545-539A55AA7FE2}.Release.ActiveCfg = Release|Win32 {E1DBB220-D64B-423D-A545-539A55AA7FE2}.Release.Build.0 = Release|Win32 + {E1DBB220-D64B-423D-A545-539A55AA7FE2}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {E1DBB220-D64B-423D-A545-539A55AA7FE2}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {E1DBB220-D64B-423D-A545-539A55AA7FE2}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {E1DBB220-D64B-423D-A545-539A55AA7FE2}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.Debug.ActiveCfg = Debug|Win32 {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.Debug.Build.0 = Debug|Win32 {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.Release.ActiveCfg = Release|Win32 {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.Release.Build.0 = Release|Win32 + {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {324F66C2-44D0-4D50-B979-F9DAE7FD36DB}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.Debug.ActiveCfg = Debug|Win32 {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.Debug.Build.0 = Debug|Win32 {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.Release.ActiveCfg = Release|Win32 {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.Release.Build.0 = Release|Win32 + {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {8E85BA54-8A47-4C8B-B72E-8E17579CC6D7}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {59CBF474-9E06-4C50-9142-C44A118BB447}.Debug.ActiveCfg = Debug|Win32 {59CBF474-9E06-4C50-9142-C44A118BB447}.Debug.Build.0 = Debug|Win32 {59CBF474-9E06-4C50-9142-C44A118BB447}.Release.ActiveCfg = Release|Win32 {59CBF474-9E06-4C50-9142-C44A118BB447}.Release.Build.0 = Release|Win32 + {59CBF474-9E06-4C50-9142-C44A118BB447}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {59CBF474-9E06-4C50-9142-C44A118BB447}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {59CBF474-9E06-4C50-9142-C44A118BB447}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {59CBF474-9E06-4C50-9142-C44A118BB447}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.Debug.ActiveCfg = Debug|Win32 {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.Debug.Build.0 = Debug|Win32 {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.Release.ActiveCfg = Release|Win32 {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.Release.Build.0 = Release|Win32 + {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {5B51DFF7-5DC0-41F8-8791-A4AB7114A151}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {AC557788-6354-43F7-BE05-C9C8C59A344A}.Debug.ActiveCfg = Debug|Win32 {AC557788-6354-43F7-BE05-C9C8C59A344A}.Debug.Build.0 = Debug|Win32 {AC557788-6354-43F7-BE05-C9C8C59A344A}.Release.ActiveCfg = Release|Win32 {AC557788-6354-43F7-BE05-C9C8C59A344A}.Release.Build.0 = Release|Win32 + {AC557788-6354-43F7-BE05-C9C8C59A344A}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {AC557788-6354-43F7-BE05-C9C8C59A344A}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {AC557788-6354-43F7-BE05-C9C8C59A344A}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {AC557788-6354-43F7-BE05-C9C8C59A344A}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug.ActiveCfg = Debug|Win32 {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Debug.Build.0 = Debug|Win32 {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release.ActiveCfg = Release|Win32 {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.Release.Build.0 = Release|Win32 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.ReleaseAMD64.ActiveCfg = Release|Win32 + {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.ReleaseAMD64.Build.0 = Release|Win32 {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.ReleaseItanium.ActiveCfg = Release|Win32 {F0E0541E-F17D-430B-97C4-93ADF0DD284E}.ReleaseItanium.Build.0 = Release|Win32 {7E551393-3C43-47F8-9F3F-5BC368A6C487}.Debug.ActiveCfg = Debug|Win32 {7E551393-3C43-47F8-9F3F-5BC368A6C487}.Debug.Build.0 = Debug|Win32 {7E551393-3C43-47F8-9F3F-5BC368A6C487}.Release.ActiveCfg = Release|Win32 {7E551393-3C43-47F8-9F3F-5BC368A6C487}.Release.Build.0 = Release|Win32 + {7E551393-3C43-47F8-9F3F-5BC368A6C487}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {7E551393-3C43-47F8-9F3F-5BC368A6C487}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {7E551393-3C43-47F8-9F3F-5BC368A6C487}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {7E551393-3C43-47F8-9F3F-5BC368A6C487}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug.ActiveCfg = Debug|Win32 {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Debug.Build.0 = Debug|Win32 {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release.ActiveCfg = Release|Win32 {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.Release.Build.0 = Release|Win32 + {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {B11D750F-CD1F-4A96-85CE-E69A5C5259F9}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug.ActiveCfg = Debug|Win32 {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Debug.Build.0 = Debug|Win32 {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release.ActiveCfg = Release|Win32 {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.Release.Build.0 = Release|Win32 + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {CF7AC3D1-E2DF-41D2-BEA6-1E2556CDEA26}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug.ActiveCfg = Debug|Win32 {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Debug.Build.0 = Debug|Win32 {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release.ActiveCfg = Release|Win32 {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.Release.Build.0 = Release|Win32 + {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {F4229CC3-873C-49AE-9729-DD308ED4CD4A}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Debug.ActiveCfg = Debug|Win32 {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Debug.Build.0 = Debug|Win32 {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Release.ActiveCfg = Release|Win32 {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.Release.Build.0 = Release|Win32 + {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {97239A56-DBC0-41D2-BC14-C87D9B97D63B}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Debug.ActiveCfg = Debug|Win32 {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Debug.Build.0 = Debug|Win32 {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Release.ActiveCfg = Release|Win32 {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.Release.Build.0 = Release|Win32 + {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {FA5FC7EB-C72F-415F-AE42-91DD605ABDDA}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug.ActiveCfg = Debug|Win32 {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Debug.Build.0 = Debug|Win32 {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release.ActiveCfg = Release|Win32 {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.Release.Build.0 = Release|Win32 + {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.ReleaseAMD64.ActiveCfg = Release|Win32 {E9E0A1F6-0009-4E8C-B8F8-1B8F5D49A058}.ReleaseItanium.ActiveCfg = Release|Win32 {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Debug.ActiveCfg = Debug|Win32 {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Debug.Build.0 = Debug|Win32 {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Release.ActiveCfg = Release|Win32 {51F35FAE-FB92-4B2C-9187-1542C065AD77}.Release.Build.0 = Release|Win32 + {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {51F35FAE-FB92-4B2C-9187-1542C065AD77}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Debug.ActiveCfg = Debug|Win32 {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Debug.Build.0 = Debug|Win32 {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Release.ActiveCfg = Release|Win32 {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.Release.Build.0 = Release|Win32 + {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseAMD64.ActiveCfg = ReleaseAMD64|Win32 + {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseAMD64.Build.0 = ReleaseAMD64|Win32 {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseItanium.ActiveCfg = ReleaseItanium|Win32 {1966DDE2-4AB7-4E4E-ACC9-C121E4D37F8E}.ReleaseItanium.Build.0 = ReleaseItanium|Win32 {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug.ActiveCfg = Debug|Win32 {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Debug.Build.0 = Debug|Win32 {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release.ActiveCfg = Release|Win32 {C73F0EC1-358B-4177-940F-0846AC8B04CD}.Release.Build.0 = Release|Win32 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseAMD64.ActiveCfg = Release|Win32 + {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseAMD64.Build.0 = Release|Win32 {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseItanium.ActiveCfg = Release|Win32 {C73F0EC1-358B-4177-940F-0846AC8B04CD}.ReleaseItanium.Build.0 = Release|Win32 EndGlobalSection diff --git a/PCbuild/pyexpat.vcproj b/PCbuild/pyexpat.vcproj index bd58c0e..6f00403 100644 --- a/PCbuild/pyexpat.vcproj +++ b/PCbuild/pyexpat.vcproj @@ -180,6 +180,67 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/python.vcproj b/PCbuild/python.vcproj index 287a0e9..fc9ecb8 100644 --- a/PCbuild/python.vcproj +++ b/PCbuild/python.vcproj @@ -191,6 +191,70 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/pythoncore.vcproj b/PCbuild/pythoncore.vcproj index 88ddf1a..9d3776c 100644 --- a/PCbuild/pythoncore.vcproj +++ b/PCbuild/pythoncore.vcproj @@ -58,7 +58,7 @@ + CommandLine="make_buildinfo.exe $(ConfigurationName)"/> + CommandLine="make_buildinfo.exe $(ConfigurationName)"/> + + + + + + + + + + + + + + + + + + @@ -509,6 +582,12 @@ Name="VCCLCompilerTool" AdditionalIncludeDirectories="..\Python"/> + + + diff --git a/PCbuild/pythonw.vcproj b/PCbuild/pythonw.vcproj index baf5e4a..9bc3b8a 100644 --- a/PCbuild/pythonw.vcproj +++ b/PCbuild/pythonw.vcproj @@ -183,6 +183,68 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt index 7ca8186..25d0e8a 100644 --- a/PCbuild/readme.txt +++ b/PCbuild/readme.txt @@ -280,6 +280,13 @@ The Itanium build has seen little testing. The SDK compiler reports a lot of warnings about conversion from size_t to int, which will be fixed in future Python releases. +Building for AMD64 +------------------ + +The build process for the ReleaseAMD64 configuration is very similar +to the Itanium configuration; make sure you use the latest version of +vsextcomp. + YOUR OWN EXTENSION DLLs ----------------------- If you want to create your own extension module DLL, there's an example diff --git a/PCbuild/select.vcproj b/PCbuild/select.vcproj index 1c13433..12e1f65 100644 --- a/PCbuild/select.vcproj +++ b/PCbuild/select.vcproj @@ -183,6 +183,68 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/unicodedata.vcproj b/PCbuild/unicodedata.vcproj index da49b15..24644e5 100644 --- a/PCbuild/unicodedata.vcproj +++ b/PCbuild/unicodedata.vcproj @@ -175,6 +175,65 @@ + + + + + + + + + + + + + + + diff --git a/PCbuild/winsound.vcproj b/PCbuild/winsound.vcproj index c1e8130..93a5ca6 100644 --- a/PCbuild/winsound.vcproj +++ b/PCbuild/winsound.vcproj @@ -178,6 +178,66 @@ + + + + + + + + + + + + + + + diff --git a/Tools/msi/msi.py b/Tools/msi/msi.py index 839eb9d..52dfa22 100644 --- a/Tools/msi/msi.py +++ b/Tools/msi/msi.py @@ -8,8 +8,6 @@ from win32com.client import constants from distutils.spawn import find_executable # Settings can be overridden in config.py below -# 1 for Itanium build -msilib.Win64 = 0 # 0 for official python.org releases # 1 for intermediate releases by anybody, with # a new product code for every package. @@ -129,7 +127,6 @@ pythondll_uuid = { "25":"{2e41b118-38bd-4c1b-a840-6977efd1b911}" } [major+minor] - # Build the mingw import library, libpythonXY.a # This requires 'nm' and 'dlltool' executables on your PATH def build_mingw_lib(lib_file, def_file, dll_file, mingw_lib): @@ -176,6 +173,12 @@ mingw_lib = os.path.join(srcdir, "PCBuild", "libpython%s%s.a" % (major, minor)) have_mingw = build_mingw_lib(lib_file, def_file, dll_file, mingw_lib) +# Determine the target architechture +dll_path = os.path.join(srcdir, "PCBuild", dll_file) +msilib.set_arch_from_file(dll_path) +if msilib.pe_type(dll_path) != msilib.pe_type("msisupport.dll"): + raise SystemError, "msisupport.dll for incorrect architecture" + if testpackage: ext = 'px' testprefix = 'x' @@ -205,11 +208,7 @@ def build_database(): # schema represents the installer 2.0 database schema. # sequence is the set of standard sequences # (ui/execute, admin/advt/install) - if msilib.Win64: - w64 = ".ia64" - else: - w64 = "" - db = msilib.init_database("python-%s%s.msi" % (full_current_version, w64), + db = msilib.init_database("python-%s%s.msi" % (full_current_version, msilib.arch_ext), schema, ProductName="Python "+full_current_version, ProductCode=product_code, ProductVersion=current_version, diff --git a/Tools/msi/msilib.py b/Tools/msi/msilib.py index 948099d..9011b0a 100644 --- a/Tools/msi/msilib.py +++ b/Tools/msi/msilib.py @@ -5,15 +5,13 @@ import win32com.client.gencache import win32com.client import pythoncom, pywintypes from win32com.client import constants -import re, string, os, sets, glob, popen2, sys, _winreg +import re, string, os, sets, glob, popen2, sys, _winreg, struct try: basestring except NameError: basestring = (str, unicode) -Win64 = 0 - # Partially taken from Wine datasizemask= 0x00ff type_valid= 0x0100 @@ -311,10 +309,7 @@ def init_database(name, schema, si.SetProperty(PID_TITLE, "Installation Database") si.SetProperty(PID_SUBJECT, ProductName) si.SetProperty(PID_AUTHOR, Manufacturer) - if Win64: - si.SetProperty(PID_TEMPLATE, "Intel64;1033") - else: - si.SetProperty(PID_TEMPLATE, "Intel;1033") + si.SetProperty(PID_TEMPLATE, msi_type) si.SetProperty(PID_REVNUMBER, gen_uuid()) si.SetProperty(PID_WORDCOUNT, 2) # long file names, compressed, original media si.SetProperty(PID_PAGECOUNT, 200) @@ -647,3 +642,34 @@ class Dialog: def checkbox(self, name, x, y, w, h, attr, prop, text, next): return self.control(name, "CheckBox", x, y, w, h, attr, prop, text, next, None) + +def pe_type(path): + header = open(path).read(1000) + # offset of PE header is at offset 0x3c; 1-based + pe_offset = struct.unpack("