Show More
@@ -16,10 +16,22 b'' | |||||
16 | #pragma message "Detected Version: " + VERSION |
|
16 | #pragma message "Detected Version: " + VERSION | |
17 | #endif |
|
17 | #endif | |
18 |
|
18 | |||
|
19 | #ifndef ARCH | |||
|
20 | #define ARCH = "x86" | |||
|
21 | #endif | |||
|
22 | ||||
19 | [Setup] |
|
23 | [Setup] | |
20 | AppCopyright=Copyright 2005-2010 Matt Mackall and others |
|
24 | AppCopyright=Copyright 2005-2010 Matt Mackall and others | |
21 | AppName=Mercurial |
|
25 | AppName=Mercurial | |
|
26 | #if ARCH == "x64" | |||
|
27 | AppVerName=Mercurial {#VERSION} (64-bit) | |||
|
28 | OutputBaseFilename=Mercurial-{#VERSION}-x64 | |||
|
29 | ArchitecturesAllowed=x64 | |||
|
30 | ArchitecturesInstallIn64BitMode=x64 | |||
|
31 | #else | |||
22 | AppVerName=Mercurial {#VERSION} |
|
32 | AppVerName=Mercurial {#VERSION} | |
|
33 | OutputBaseFilename=Mercurial-{#VERSION} | |||
|
34 | #endif | |||
23 | InfoAfterFile=contrib/win32/postinstall.txt |
|
35 | InfoAfterFile=contrib/win32/postinstall.txt | |
24 | LicenseFile=COPYING |
|
36 | LicenseFile=COPYING | |
25 | ShowLanguageDialog=yes |
|
37 | ShowLanguageDialog=yes | |
@@ -29,7 +41,6 b' AppSupportURL=http://mercurial.selenic.c' | |||||
29 | AppUpdatesURL=http://mercurial.selenic.com/ |
|
41 | AppUpdatesURL=http://mercurial.selenic.com/ | |
30 | AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3} |
|
42 | AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3} | |
31 | AppContact=mercurial@selenic.com |
|
43 | AppContact=mercurial@selenic.com | |
32 | OutputBaseFilename=Mercurial-{#VERSION} |
|
|||
33 | DefaultDirName={pf}\Mercurial |
|
44 | DefaultDirName={pf}\Mercurial | |
34 | SourceDir=..\.. |
|
45 | SourceDir=..\.. | |
35 | VersionInfoDescription=Mercurial distributed SCM (version {#VERSION}) |
|
46 | VersionInfoDescription=Mercurial distributed SCM (version {#VERSION}) | |
@@ -61,11 +72,16 b' Source: contrib\\mergetools.hgrc; DestDir' | |||||
61 | Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles; |
|
72 | Source: contrib\win32\mercurial.ini; DestDir: {app}; DestName: Mercurial.ini; Check: CheckFile; AfterInstall: ConcatenateFiles; | |
62 | Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt |
|
73 | Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt | |
63 | Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local') |
|
74 | Source: dist\hg.exe; DestDir: {app}; AfterInstall: Touch('{app}\hg.exe.local') | |
|
75 | #if ARCH == "x64" | |||
|
76 | Source: dist\*.dll; Destdir: {app} | |||
|
77 | Source: dist\*.pyd; Destdir: {app} | |||
|
78 | #else | |||
64 | Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist |
|
79 | Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist | |
65 | Source: dist\library.zip; DestDir: {app} |
|
|||
66 | Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist |
|
80 | Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist | |
|
81 | Source: dist\w9xpopen.exe; DestDir: {app} | |||
|
82 | #endif | |||
67 | Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist |
|
83 | Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist | |
68 |
Source: dist\ |
|
84 | Source: dist\library.zip; DestDir: {app} | |
69 | Source: dist\add_path.exe; DestDir: {app} |
|
85 | Source: dist\add_path.exe; DestDir: {app} | |
70 | Source: doc\*.html; DestDir: {app}\Docs |
|
86 | Source: doc\*.html; DestDir: {app}\Docs | |
71 | Source: doc\style.css; DestDir: {app}\Docs |
|
87 | Source: doc\style.css; DestDir: {app}\Docs |
@@ -1,7 +1,8 b'' | |||||
1 | The standalone Windows installer for Mercurial is built in a somewhat |
|
1 | The standalone Windows installer for Mercurial is built in a somewhat | |
2 | jury-rigged fashion. |
|
2 | jury-rigged fashion. | |
3 |
|
3 | |||
4 |
It has the following prerequisites |
|
4 | It has the following prerequisites. Ensure to take the packages | |
|
5 | matching the mercurial version you want to build (32-bit or 64-bit). | |||
5 |
|
6 | |||
6 | Python 2.6 for Windows |
|
7 | Python 2.6 for Windows | |
7 | http://www.python.org/download/releases/ |
|
8 | http://www.python.org/download/releases/ | |
@@ -19,7 +20,10 b' It has the following prerequisites, at l' | |||||
19 | http://starship.python.net/crew/mhammond/win32/ |
|
20 | http://starship.python.net/crew/mhammond/win32/ | |
20 |
|
21 | |||
21 | Visual C++ 2008 SP1 redistributable package (needed for >= Python 2.6 or if you compile with MSVC) |
|
22 | Visual C++ 2008 SP1 redistributable package (needed for >= Python 2.6 or if you compile with MSVC) | |
|
23 | for 32-bit: | |||
22 | http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2 |
|
24 | http://www.microsoft.com/downloads/details.aspx?FamilyID=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2 | |
|
25 | for 64-bit: | |||
|
26 | http://www.microsoft.com/downloads/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E | |||
23 |
|
27 | |||
24 | The py2exe distutils extension |
|
28 | The py2exe distutils extension | |
25 | http://sourceforge.net/projects/py2exe/ |
|
29 | http://sourceforge.net/projects/py2exe/ | |
@@ -62,7 +66,12 b' compiler=mingw32' | |||||
62 | you can skip the first build step. |
|
66 | you can skip the first build step. | |
63 |
|
67 | |||
64 | Building instructions with MSVC 2008 SP1 Express Edition: |
|
68 | Building instructions with MSVC 2008 SP1 Express Edition: | |
65 | python setup.py py2exe -b 2 |
|
69 | for 32-bit: | |
|
70 | "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86 | |||
|
71 | python setup.py py2exe -b 2 | |||
|
72 | for 64-bit: | |||
|
73 | "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64 | |||
|
74 | python setup.py py2exe -b 3 | |||
66 |
|
75 | |||
67 | Copy add_path.exe into the dist directory that just got created. |
|
76 | Copy add_path.exe into the dist directory that just got created. | |
68 |
|
77 | |||
@@ -74,11 +83,13 b' mercurial, you must include the C runtim' | |||||
74 | install the Visual C++ 2008 SP1 redistributable package. Then in your |
|
83 | install the Visual C++ 2008 SP1 redistributable package. Then in your | |
75 | windows\winsxs folder, locate the folder containing the dlls version 9.0.30729. |
|
84 | windows\winsxs folder, locate the folder containing the dlls version 9.0.30729. | |
76 | For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.30729(...). |
|
85 | For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.30729(...). | |
|
86 | For x64, it should be named like amd64_Microsoft.VC90.CRT_(...)_9.0.30729(...). | |||
77 | Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist |
|
87 | Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist | |
78 | directory. |
|
88 | directory. | |
79 | Then in the windows\winsxs\manifests folder, locate the corresponding manifest |
|
89 | Then in the windows\winsxs\manifests folder, locate the corresponding manifest | |
80 |
file (x86_Microsoft.VC90.CRT_(...)_9.0.30729(...).manifest for x86 |
|
90 | file (x86_Microsoft.VC90.CRT_(...)_9.0.30729(...).manifest for x86, | |
81 | the dist directory and rename it to Microsoft.VC90.CRT.manifest. |
|
91 | amd64_Microsoft.VC90.CRT_(...)_9.0.30729(...).manifest for x64), copy it in the | |
|
92 | dist directory and rename it to Microsoft.VC90.CRT.manifest. | |||
82 |
|
93 | |||
83 | Before building the installer, you have to build Mercurial HTML documentation |
|
94 | Before building the installer, you have to build Mercurial HTML documentation | |
84 | (or fix mercurial.iss to not reference the doc directory): |
|
95 | (or fix mercurial.iss to not reference the doc directory): | |
@@ -101,6 +112,10 b' a directory named Output/ at the root of' | |||||
101 | If the /dVERSION=foo parameter is not given in the command line, the |
|
112 | If the /dVERSION=foo parameter is not given in the command line, the | |
102 | installer will retrieve the version information from the __version__.py file. |
|
113 | installer will retrieve the version information from the __version__.py file. | |
103 |
|
114 | |||
|
115 | If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to | |||
|
116 | your command line: | |||
|
117 | iscc contrib\win32\mercurial.iss /dARCH=x64 | |||
|
118 | ||||
104 | To automate the steps above you may want to create a batchfile based on the |
|
119 | To automate the steps above you may want to create a batchfile based on the | |
105 | following (MinGW build chain): |
|
120 | following (MinGW build chain): | |
106 |
|
121 |
General Comments 0
You need to be logged in to leave comments.
Login now