contrib/win32/win32-build.txt
author Bryan O'Sullivan <bos@serpentine.com>
Wed, 21 Sep 2005 00:47:57 -0700
changeset 1291 a942bf419a64
child 2384 068b32d06873
permissions -rw-r--r--
Document Windows installer build process.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1291
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     1
The standalone Windows installer for Mercurial is built in a somewhat
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     2
jury-rigged fashion.
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     3
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     4
It has the following prerequisites, at least as I build it:
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     5
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     6
  Python for Windows
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     7
      http://www.python.org/ftp/python/2.4.1/python-2.4.1.msi
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     8
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
     9
  MinGW
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    10
      http://www.mingw.org/
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    11
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    12
  Python for Windows Extensions
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    13
      http://sourceforge.net/projects/pywin32/
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    14
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    15
  mfc71.dll (just download, don't install)
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    16
      http://starship.python.net/crew/mhammond/win32/
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    17
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    18
  The py2exe distutils extension
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    19
      http://sourceforge.net/projects/py2exe/
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    20
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    21
  Inno Setup
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    22
      http://www.jrsoftware.org/isinfo.php
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    23
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    24
  ISTool
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    25
      http://www.istool.org/default.aspx/
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    26
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    27
And, of course, Mercurial itself.
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    28
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    29
Once you have all this installed and built, clone a copy of the
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    30
Mercurial repository you want to package, and name the repo
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    31
C:\hg\hg-release.
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    32
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    33
In a shell, build a standalone copy of the hg.exe program:
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    34
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    35
  python setup.py build -c mingw32 py2exe -b 1
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    36
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    37
Copy mfc71.dll into the dist directory that just got created.
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    38
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    39
Run ISTool, and open the C:\hg\hg-release\contrib\win32\mercurial.iss
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    40
file.
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    41
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    42
In ISTool, type Ctrl-F9 to compile the installer file.  The actual
a942bf419a64 Document Windows installer build process.
Bryan O'Sullivan <bos@serpentine.com>
parents:
diff changeset
    43
installer will be in the C:\hg\hg-release\Output directory.