contrib/win32/win32-build.txt
changeset 4402 d1dd16256114
parent 2384 068b32d06873
child 5115 ea7b982b6c08
equal deleted inserted replaced
4387:80d3f6f0d8e5 4402:d1dd16256114
     2 jury-rigged fashion.
     2 jury-rigged fashion.
     3 
     3 
     4 It has the following prerequisites, at least as I build it:
     4 It has the following prerequisites, at least as I build it:
     5 
     5 
     6   Python for Windows
     6   Python for Windows
     7       http://www.python.org/ftp/python/2.4.1/python-2.4.1.msi
     7       http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi
     8 
     8 
     9   MinGW
     9   MinGW
    10       http://www.mingw.org/
    10       http://www.mingw.org/
    11 
    11 
    12   Python for Windows Extensions
    12   Python for Windows Extensions
    19       http://sourceforge.net/projects/py2exe/
    19       http://sourceforge.net/projects/py2exe/
    20 
    20 
    21   Inno Setup
    21   Inno Setup
    22       http://www.jrsoftware.org/isinfo.php
    22       http://www.jrsoftware.org/isinfo.php
    23 
    23 
    24   ISTool
    24   ISTool - optional
    25       http://www.istool.org/default.aspx/
    25       http://www.istool.org/default.aspx/
    26 
    26 
    27   add_path (you need only add_path.exe in the zip file)
    27   add_path (you need only add_path.exe in the zip file)
    28       http://www.barisione.org/apps.html#add_path
    28       http://www.barisione.org/apps.html#add_path
    29 
    29 
    33 Mercurial repository you want to package, and name the repo
    33 Mercurial repository you want to package, and name the repo
    34 C:\hg\hg-release.
    34 C:\hg\hg-release.
    35 
    35 
    36 In a shell, build a standalone copy of the hg.exe program:
    36 In a shell, build a standalone copy of the hg.exe program:
    37 
    37 
    38   python setup.py build -c mingw32 py2exe -b 1
    38   python setup.py build -c mingw32 
       
    39   python setup.py py2exe -b 1
    39 
    40 
    40 Copy mfc71.dll and add_path.exe into the dist directory that just
    41 Note: the previously suggested combined command of "python setup.py build -c
    41 got created.
    42 mingw32 py2exe -b 1" doesn't work correctly anymore as it doesn't include the
       
    43 extensions in the mercurial subdirectory.
    42 
    44 
    43 Run ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss
    45 If you want to create a file named setup.cfg with the contents:
    44 file.
       
    45 
    46 
    46 In ISTool, type Ctrl-F9 to compile the installer file.  The actual
    47 [build]
    47 installer will be in the C:\hg\hg-release\Output directory.
    48 compiler=mingw32
       
    49 
       
    50 you can skip the first build step.
       
    51 
       
    52 Copy mfc71.dll and add_path.exe into the dist directory that just got created.
       
    53 
       
    54 If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss
       
    55 file and type Ctrl-F9 to compile the installer file.
       
    56 
       
    57 Otherwise you run the Inno Setup compiler.  Assuming it's on the path you run:
       
    58 
       
    59   iscc contrib\win32\mercurial.iss
       
    60 
       
    61 The actual installer will be in the C:\hg\hg-release\Output directory.
       
    62 
       
    63 To automate the steps above you may want to create a batchfile based on the
       
    64 following:
       
    65 
       
    66   echo [build] > setup.cfg
       
    67   echo compiler=mingw32 >> setup.cfg
       
    68   python setup.py py2exe -b 1
       
    69   iscc contrib\win32\mercurial.iss
       
    70 
       
    71 and run it from the root of the hg repository (c:\hg\hg-release).