Merge branch 'hg/maint-attr-fix' into maint
[git] / compat / vcbuild / README
1 The Steps of Build Git with VS2008
2
3 1. You need the build environment, which contains the Git dependencies
4    to be able to compile, link and run Git with MSVC.
5
6    You can either use the binary repository:
7
8        WWW: http://repo.or.cz/w/msvcgit.git
9        Git: git clone git://repo.or.cz/msvcgit.git
10        Zip: http://repo.or.cz/w/msvcgit.git?a=snapshot;h=master;sf=zip
11
12    and call the setup_32bit_env.cmd batch script before compiling Git,
13    (see repo/package README for details), or the source repository:
14
15        WWW: http://repo.or.cz/w/gitbuild.git
16        Git: git clone git://repo.or.cz/gitbuild.git
17        Zip: (None, as it's a project with submodules)
18
19    and build the support libs as instructed in that repo/package.
20
21 2. Ensure you have the msysgit environment in your path, so you have
22    GNU Make, bash and perl available.
23
24        WWW: http://repo.or.cz/w/msysgit.git
25        Git: git clone git://repo.or.cz/msysgit.git
26        Zip: http://repo.or.cz/w/msysgit.git?a=snapshot;h=master;sf=zip
27
28    This environment is also needed when you use the resulting
29    executables, since Git might need to run scripts which are part of
30    the git operations.
31
32 3. Inside Git's directory run the command:
33        make common-cmds.h
34    to generate the common-cmds.h file needed to compile git.
35
36 4. Then either build Git with the GNU Make Makefile in the Git projects
37    root
38        make MSVC=1
39    or generate Visual Studio solution/projects (.sln/.vcproj) with the
40    command
41        perl contrib/buildsystems/generate -g Vcproj
42    and open and build the solution with the IDE
43        devenv git.sln /useenv
44    or build with the IDE build engine directly from the command line
45        devenv git.sln /useenv /build "Release|Win32"
46    The /useenv option is required, so Visual Studio picks up the
47    environment variables for the support libraries required to build
48    Git, which you set up in step 1.
49
50 Done!