##// END OF EJS Templates
merge with stable
Steve Borho -
r13247:af50a62e merge default
parent child Browse files
Show More
@@ -1,146 +1,148 b''
1 ; Script generated by the Inno Setup Script Wizard.
1 ; Script generated by the Inno Setup Script Wizard.
2 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
2 ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
3
3
4 #ifndef VERSION
4 #ifndef VERSION
5 #define FileHandle
5 #define FileHandle
6 #define FileLine
6 #define FileLine
7 #define VERSION = "unknown"
7 #define VERSION = "unknown"
8 #if FileHandle = FileOpen(SourcePath + "\..\..\mercurial\__version__.py")
8 #if FileHandle = FileOpen(SourcePath + "\..\..\mercurial\__version__.py")
9 #expr FileLine = FileRead(FileHandle)
9 #expr FileLine = FileRead(FileHandle)
10 #expr FileLine = FileRead(FileHandle)
10 #expr FileLine = FileRead(FileHandle)
11 #define VERSION = Copy(FileLine, Pos('"', FileLine)+1, Len(FileLine)-Pos('"', FileLine)-1)
11 #define VERSION = Copy(FileLine, Pos('"', FileLine)+1, Len(FileLine)-Pos('"', FileLine)-1)
12 #endif
12 #endif
13 #if FileHandle
13 #if FileHandle
14 #expr FileClose(FileHandle)
14 #expr FileClose(FileHandle)
15 #endif
15 #endif
16 #pragma message "Detected Version: " + VERSION
16 #pragma message "Detected Version: " + VERSION
17 #endif
17 #endif
18
18
19 #ifndef ARCH
19 #ifndef ARCH
20 #define ARCH = "x86"
20 #define ARCH = "x86"
21 #endif
21 #endif
22
22
23 [Setup]
23 [Setup]
24 AppCopyright=Copyright 2005-2010 Matt Mackall and others
24 AppCopyright=Copyright 2005-2010 Matt Mackall and others
25 AppName=Mercurial
25 AppName=Mercurial
26 #if ARCH == "x64"
26 #if ARCH == "x64"
27 AppVerName=Mercurial {#VERSION} (64-bit)
27 AppVerName=Mercurial {#VERSION} (64-bit)
28 OutputBaseFilename=Mercurial-{#VERSION}-x64
28 OutputBaseFilename=Mercurial-{#VERSION}-x64
29 ArchitecturesAllowed=x64
29 ArchitecturesAllowed=x64
30 ArchitecturesInstallIn64BitMode=x64
30 ArchitecturesInstallIn64BitMode=x64
31 #else
31 #else
32 AppVerName=Mercurial {#VERSION}
32 AppVerName=Mercurial {#VERSION}
33 OutputBaseFilename=Mercurial-{#VERSION}
33 OutputBaseFilename=Mercurial-{#VERSION}
34 #endif
34 #endif
35 InfoAfterFile=contrib/win32/postinstall.txt
35 InfoAfterFile=contrib/win32/postinstall.txt
36 LicenseFile=COPYING
36 LicenseFile=COPYING
37 ShowLanguageDialog=yes
37 ShowLanguageDialog=yes
38 AppPublisher=Matt Mackall and others
38 AppPublisher=Matt Mackall and others
39 AppPublisherURL=http://mercurial.selenic.com/
39 AppPublisherURL=http://mercurial.selenic.com/
40 AppSupportURL=http://mercurial.selenic.com/
40 AppSupportURL=http://mercurial.selenic.com/
41 AppUpdatesURL=http://mercurial.selenic.com/
41 AppUpdatesURL=http://mercurial.selenic.com/
42 AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
42 AppID={{4B95A5F1-EF59-4B08-BED8-C891C46121B3}
43 AppContact=mercurial@selenic.com
43 AppContact=mercurial@selenic.com
44 DefaultDirName={pf}\Mercurial
44 DefaultDirName={pf}\Mercurial
45 SourceDir=..\..
45 SourceDir=..\..
46 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
46 VersionInfoDescription=Mercurial distributed SCM (version {#VERSION})
47 VersionInfoCopyright=Copyright 2005-2010 Matt Mackall and others
47 VersionInfoCopyright=Copyright 2005-2010 Matt Mackall and others
48 VersionInfoCompany=Matt Mackall and others
48 VersionInfoCompany=Matt Mackall and others
49 InternalCompressLevel=max
49 InternalCompressLevel=max
50 SolidCompression=true
50 SolidCompression=true
51 SetupIconFile=contrib\win32\mercurial.ico
51 SetupIconFile=contrib\win32\mercurial.ico
52 AllowNoIcons=true
52 AllowNoIcons=true
53 DefaultGroupName=Mercurial
53 DefaultGroupName=Mercurial
54 PrivilegesRequired=none
54 PrivilegesRequired=none
55
55
56 [Files]
56 [Files]
57 Source: contrib\mercurial.el; DestDir: {app}/Contrib
57 Source: contrib\mercurial.el; DestDir: {app}/Contrib
58 Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim
58 Source: contrib\vim\*.*; DestDir: {app}/Contrib/Vim
59 Source: contrib\zsh_completion; DestDir: {app}/Contrib
59 Source: contrib\zsh_completion; DestDir: {app}/Contrib
60 Source: contrib\bash_completion; DestDir: {app}/Contrib
60 Source: contrib\bash_completion; DestDir: {app}/Contrib
61 Source: contrib\tcsh_completion; DestDir: {app}/Contrib
61 Source: contrib\tcsh_completion; DestDir: {app}/Contrib
62 Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib
62 Source: contrib\tcsh_completion_build.sh; DestDir: {app}/Contrib
63 Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl
63 Source: contrib\hgk; DestDir: {app}/Contrib; DestName: hgk.tcl
64 Source: contrib\xml.rnc; DestDir: {app}/Contrib
64 Source: contrib\xml.rnc; DestDir: {app}/Contrib
65 Source: contrib\shrink-revlog.py; DestDir: {app}/Contrib
65 Source: contrib\shrink-revlog.py; DestDir: {app}/Contrib
66 Source: contrib\mercurial.el; DestDir: {app}/Contrib
66 Source: contrib\mercurial.el; DestDir: {app}/Contrib
67 Source: contrib\mq.el; DestDir: {app}/Contrib
67 Source: contrib\mq.el; DestDir: {app}/Contrib
68 Source: contrib\hgweb.fcgi; DestDir: {app}/Contrib
68 Source: contrib\hgweb.fcgi; DestDir: {app}/Contrib
69 Source: contrib\hgweb.wsgi; DestDir: {app}/Contrib
69 Source: contrib\hgweb.wsgi; DestDir: {app}/Contrib
70 Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
70 Source: contrib\win32\ReadMe.html; DestDir: {app}; Flags: isreadme
71 Source: contrib\mergetools.hgrc; DestDir: {tmp};
71 Source: contrib\mergetools.hgrc; DestDir: {tmp};
72 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;
73 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
73 Source: contrib\win32\postinstall.txt; DestDir: {app}; DestName: ReleaseNotes.txt
74 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"
75 #if ARCH == "x64"
76 Source: dist\*.dll; Destdir: {app}
76 Source: dist\*.dll; Destdir: {app}
77 Source: dist\*.pyd; Destdir: {app}
77 Source: dist\*.pyd; Destdir: {app}
78 #else
78 #else
79 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
79 Source: dist\python*.dll; Destdir: {app}; Flags: skipifsourcedoesntexist
80 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
80 Source: dist\msvc*.dll; DestDir: {app}; Flags: skipifsourcedoesntexist
81 Source: dist\w9xpopen.exe; DestDir: {app}
81 Source: dist\w9xpopen.exe; DestDir: {app}
82 #endif
82 #endif
83 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
83 Source: dist\Microsoft.VC*.CRT.manifest; DestDir: {app}; Flags: skipifsourcedoesntexist
84 Source: dist\library.zip; DestDir: {app}
84 Source: dist\library.zip; DestDir: {app}
85 Source: dist\add_path.exe; DestDir: {app}
85 Source: dist\add_path.exe; DestDir: {app}
86 Source: dist\cacert.pem; Destdir: {app}
86 Source: doc\*.html; DestDir: {app}\Docs
87 Source: doc\*.html; DestDir: {app}\Docs
87 Source: doc\style.css; DestDir: {app}\Docs
88 Source: doc\style.css; DestDir: {app}\Docs
88 Source: mercurial\help\*.txt; DestDir: {app}\help
89 Source: mercurial\help\*.txt; DestDir: {app}\help
89 Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist
90 Source: mercurial\locale\*.*; DestDir: {app}\locale; Flags: recursesubdirs createallsubdirs skipifsourcedoesntexist
90 Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
91 Source: mercurial\templates\*.*; DestDir: {app}\Templates; Flags: recursesubdirs createallsubdirs
91 Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
92 Source: CONTRIBUTORS; DestDir: {app}; DestName: Contributors.txt
92 Source: COPYING; DestDir: {app}; DestName: Copying.txt
93 Source: COPYING; DestDir: {app}; DestName: Copying.txt
93
94
94 [INI]
95 [INI]
95 Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/
96 Filename: {app}\Mercurial.url; Section: InternetShortcut; Key: URL; String: http://mercurial.selenic.com/
97 Filename: {app}\Mercurial.ini; Section: web; Key: cacerts; String: {app}\cacert.pem
96
98
97 [UninstallDelete]
99 [UninstallDelete]
98 Type: files; Name: {app}\Mercurial.url
100 Type: files; Name: {app}\Mercurial.url
99 Type: files; Name: {app}\Contrib\shrink-revlog.pyc
101 Type: files; Name: {app}\Contrib\shrink-revlog.pyc
100
102
101 [Icons]
103 [Icons]
102 Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}
104 Name: {group}\Uninstall Mercurial; Filename: {uninstallexe}
103 Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html
105 Name: {group}\Mercurial Command Reference; Filename: {app}\Docs\hg.1.html
104 Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html
106 Name: {group}\Mercurial Configuration Files; Filename: {app}\Docs\hgrc.5.html
105 Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html
107 Name: {group}\Mercurial Ignore Files; Filename: {app}\Docs\hgignore.5.html
106 Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url
108 Name: {group}\Mercurial Web Site; Filename: {app}\Mercurial.url
107
109
108 [Run]
110 [Run]
109 Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path"
111 Filename: "{app}\add_path.exe"; Parameters: "{app}"; Flags: postinstall; Description: "Add the installation path to the search path"
110
112
111 [UninstallRun]
113 [UninstallRun]
112 Filename: "{app}\add_path.exe"; Parameters: "/del {app}"
114 Filename: "{app}\add_path.exe"; Parameters: "/del {app}"
113
115
114 [UninstallDelete]
116 [UninstallDelete]
115 Type: files; Name: "{app}\hg.exe.local"
117 Type: files; Name: "{app}\hg.exe.local"
116
118
117 [Code]
119 [Code]
118 var
120 var
119 WriteFile: Boolean;
121 WriteFile: Boolean;
120 CheckDone: Boolean;
122 CheckDone: Boolean;
121
123
122 function CheckFile(): Boolean;
124 function CheckFile(): Boolean;
123 begin
125 begin
124 if not CheckDone then begin
126 if not CheckDone then begin
125 WriteFile := True;
127 WriteFile := True;
126 if FileExists(ExpandConstant(CurrentFileName)) then begin
128 if FileExists(ExpandConstant(CurrentFileName)) then begin
127 WriteFile := MsgBox('' + ExpandConstant(CurrentFileName) + '' #13#13 'The file already exists.' #13#13 'Would you like Setup to overwrite it?', mbConfirmation, MB_YESNO) = idYes;
129 WriteFile := MsgBox('' + ExpandConstant(CurrentFileName) + '' #13#13 'The file already exists.' #13#13 'Would you like Setup to overwrite it?', mbConfirmation, MB_YESNO) = idYes;
128 end;
130 end;
129 CheckDone := True;
131 CheckDone := True;
130 end;
132 end;
131 Result := WriteFile;
133 Result := WriteFile;
132 end;
134 end;
133
135
134 procedure ConcatenateFiles();
136 procedure ConcatenateFiles();
135 var
137 var
136 MergeConfigs: TArrayOfString;
138 MergeConfigs: TArrayOfString;
137 begin
139 begin
138 if LoadStringsFromFile(ExpandConstant('{tmp}\mergetools.hgrc'),MergeConfigs) then begin
140 if LoadStringsFromFile(ExpandConstant('{tmp}\mergetools.hgrc'),MergeConfigs) then begin
139 SaveStringsToFile(ExpandConstant(CurrentFileName),MergeConfigs,True);
141 SaveStringsToFile(ExpandConstant(CurrentFileName),MergeConfigs,True);
140 end;
142 end;
141 end;
143 end;
142
144
143 procedure Touch(fn: String);
145 procedure Touch(fn: String);
144 begin
146 begin
145 SaveStringToFile(ExpandConstant(fn), '', False);
147 SaveStringToFile(ExpandConstant(fn), '', False);
146 end;
148 end;
@@ -1,130 +1,133 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. Ensure to take the packages
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 matching the mercurial version you want to build (32-bit or 64-bit).
6
6
7 Python 2.6 for Windows
7 Python 2.6 for Windows
8 http://www.python.org/download/releases/
8 http://www.python.org/download/releases/
9
9
10 A compiler:
10 A compiler:
11 either MinGW
11 either MinGW
12 http://www.mingw.org/
12 http://www.mingw.org/
13 or Microsoft Visual C++ 2008 SP1 Express Edition
13 or Microsoft Visual C++ 2008 SP1 Express Edition
14 http://www.microsoft.com/express/Downloads/Download-2008.aspx
14 http://www.microsoft.com/express/Downloads/Download-2008.aspx
15
15
16 Python for Windows Extensions
16 Python for Windows Extensions
17 http://sourceforge.net/projects/pywin32/
17 http://sourceforge.net/projects/pywin32/
18
18
19 mfc71.dll (just download, don't install; not needed for Python 2.6)
19 mfc71.dll (just download, don't install; not needed for Python 2.6)
20 http://starship.python.net/crew/mhammond/win32/
20 http://starship.python.net/crew/mhammond/win32/
21
21
22 Visual C++ 2008 redistributable package (needed for >= Python 2.6 or if you compile with MSVC)
22 Visual C++ 2008 redistributable package (needed for >= Python 2.6 or if you compile with MSVC)
23 for 32-bit:
23 for 32-bit:
24 http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
24 http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf
25 for 64-bit:
25 for 64-bit:
26 http://www.microsoft.com/downloads/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7548c1b6
26 http://www.microsoft.com/downloads/details.aspx?familyid=bd2a6171-e2d6-4230-b809-9a8d7548c1b6
27
27
28 The py2exe distutils extension
28 The py2exe distutils extension
29 http://sourceforge.net/projects/py2exe/
29 http://sourceforge.net/projects/py2exe/
30
30
31 GnuWin32 gettext utility (if you want to build translations)
31 GnuWin32 gettext utility (if you want to build translations)
32 http://gnuwin32.sourceforge.net/packages/gettext.htm
32 http://gnuwin32.sourceforge.net/packages/gettext.htm
33
33
34 Inno Setup
34 Inno Setup
35 http://www.jrsoftware.org/isdl.php#qsp
35 http://www.jrsoftware.org/isdl.php#qsp
36
36
37 Get and install ispack-5.3.10.exe which includes Inno Setup Processor,
37 Get and install ispack-5.3.10.exe or later (includes Inno Setup Processor),
38 which is necessary to package Mercurial.
38 which is necessary to package Mercurial.
39
39
40 ISTool - optional
40 ISTool - optional
41 http://www.istool.org/default.aspx/
41 http://www.istool.org/default.aspx/
42
42
43 add_path (you need only add_path.exe in the zip file)
43 add_path (you need only add_path.exe in the zip file)
44 http://www.barisione.org/apps.html#add_path
44 http://www.barisione.org/apps.html#add_path
45
45
46 Docutils
46 Docutils
47 http://docutils.sourceforge.net/
47 http://docutils.sourceforge.net/
48
48
49 CA Certs file
50 http://curl.haxx.se/ca/cacert.pem
51
49 And, of course, Mercurial itself.
52 And, of course, Mercurial itself.
50
53
51 Once you have all this installed and built, clone a copy of the
54 Once you have all this installed and built, clone a copy of the
52 Mercurial repository you want to package, and name the repo
55 Mercurial repository you want to package, and name the repo
53 C:\hg\hg-release.
56 C:\hg\hg-release.
54
57
55 In a shell, build a standalone copy of the hg.exe program.
58 In a shell, build a standalone copy of the hg.exe program.
56
59
57 Building instructions for MinGW:
60 Building instructions for MinGW:
58 python setup.py build -c mingw32
61 python setup.py build -c mingw32
59 python setup.py py2exe -b 2
62 python setup.py py2exe -b 2
60 Note: the previously suggested combined command of "python setup.py build -c
63 Note: the previously suggested combined command of "python setup.py build -c
61 mingw32 py2exe -b 2" doesn't work correctly anymore as it doesn't include the
64 mingw32 py2exe -b 2" doesn't work correctly anymore as it doesn't include the
62 extensions in the mercurial subdirectory.
65 extensions in the mercurial subdirectory.
63 If you want to create a file named setup.cfg with the contents:
66 If you want to create a file named setup.cfg with the contents:
64 [build]
67 [build]
65 compiler=mingw32
68 compiler=mingw32
66 you can skip the first build step.
69 you can skip the first build step.
67
70
68 Building instructions with MSVC 2008 Express Edition:
71 Building instructions with MSVC 2008 Express Edition:
69 for 32-bit:
72 for 32-bit:
70 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
73 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86
71 python setup.py py2exe -b 2
74 python setup.py py2exe -b 2
72 for 64-bit:
75 for 64-bit:
73 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
76 "C:\Program Files\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_amd64
74 python setup.py py2exe -b 3
77 python setup.py py2exe -b 3
75
78
76 Copy add_path.exe into the dist directory that just got created.
79 Copy add_path.exe and cacert.pem files into the dist directory that just got created.
77
80
78 If you are using Python up to version 2.5.4, copy mfc71.dll into the dist
81 If you are using Python up to version 2.5.4, copy mfc71.dll into the dist
79 directory that just got created.
82 directory that just got created.
80
83
81 If you are using Python 2.6 or later, or if you are using MSVC 2008 to compile
84 If you are using Python 2.6 or later, or if you are using MSVC 2008 to compile
82 mercurial, you must include the C runtime libraries in the installer. To do so,
85 mercurial, you must include the C runtime libraries in the installer. To do so,
83 install the Visual C++ 2008 redistributable package. Then in your windows\winsxs
86 install the Visual C++ 2008 redistributable package. Then in your windows\winsxs
84 folder, locate the folder containing the dlls version 9.0.21022.8.
87 folder, locate the folder containing the dlls version 9.0.21022.8.
85 For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
88 For x86, it should be named like x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
86 For x64, it should be named like amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
89 For x64, it should be named like amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).
87 Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist
90 Copy the files named msvcm90.dll, msvcp90.dll and msvcr90.dll into the dist
88 directory.
91 directory.
89 Then in the windows\winsxs\manifests folder, locate the corresponding manifest
92 Then in the windows\winsxs\manifests folder, locate the corresponding manifest
90 file (x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x86,
93 file (x86_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x86,
91 amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x64), copy it in the
94 amd64_Microsoft.VC90.CRT_(...)_9.0.21022.8(...).manifest for x64), copy it in the
92 dist directory and rename it to Microsoft.VC90.CRT.manifest.
95 dist directory and rename it to Microsoft.VC90.CRT.manifest.
93
96
94 Before building the installer, you have to build Mercurial HTML documentation
97 Before building the installer, you have to build Mercurial HTML documentation
95 (or fix mercurial.iss to not reference the doc directory):
98 (or fix mercurial.iss to not reference the doc directory):
96
99
97 cd doc
100 cd doc
98 mingw32-make html
101 mingw32-make html
99 cd ..
102 cd ..
100
103
101 If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss
104 If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss
102 file and type Ctrl-F9 to compile the installer file.
105 file and type Ctrl-F9 to compile the installer file.
103
106
104 Otherwise you run the Inno Setup compiler. Assuming it's in the path
107 Otherwise you run the Inno Setup compiler. Assuming it's in the path
105 you should execute:
108 you should execute:
106
109
107 iscc contrib\win32\mercurial.iss /dVERSION=foo
110 iscc contrib\win32\mercurial.iss /dVERSION=foo
108
111
109 Where 'foo' is the version number you would like to see in the
112 Where 'foo' is the version number you would like to see in the
110 'Add/Remove Applications' tool. The installer will be placed into
113 'Add/Remove Applications' tool. The installer will be placed into
111 a directory named Output/ at the root of your repository.
114 a directory named Output/ at the root of your repository.
112 If the /dVERSION=foo parameter is not given in the command line, the
115 If the /dVERSION=foo parameter is not given in the command line, the
113 installer will retrieve the version information from the __version__.py file.
116 installer will retrieve the version information from the __version__.py file.
114
117
115 If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to
118 If you want to build an installer for a 64-bit mercurial, add /dARCH=x64 to
116 your command line:
119 your command line:
117 iscc contrib\win32\mercurial.iss /dARCH=x64
120 iscc contrib\win32\mercurial.iss /dARCH=x64
118
121
119 To automate the steps above you may want to create a batchfile based on the
122 To automate the steps above you may want to create a batchfile based on the
120 following (MinGW build chain):
123 following (MinGW build chain):
121
124
122 echo [build] > setup.cfg
125 echo [build] > setup.cfg
123 echo compiler=mingw32 >> setup.cfg
126 echo compiler=mingw32 >> setup.cfg
124 python setup.py py2exe -b 2
127 python setup.py py2exe -b 2
125 cd doc
128 cd doc
126 mingw32-make html
129 mingw32-make html
127 cd ..
130 cd ..
128 iscc contrib\win32\mercurial.iss /dVERSION=snapshot
131 iscc contrib\win32\mercurial.iss /dVERSION=snapshot
129
132
130 and run it from the root of the hg repository (c:\hg\hg-release).
133 and run it from the root of the hg repository (c:\hg\hg-release).
General Comments 0
You need to be logged in to leave comments. Login now