~svn/ubuntu/oneiric/subversion/ppa

« back to all changes in this revision

Viewing changes to INSTALL

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2006-12-13 17:57:16 UTC
  • mfrom: (1.1.6 upstream) (0.1.3 etch)
  • Revision ID: james.westby@ubuntu.com-20061213175716-2ysv6z4w5dpa2r2f
Tags: 1.4.2dfsg1-2ubuntu1
* Merge with Debian unstable; remaining changes:
  - Create pot file on build.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
                          A Quick Guide
4
4
               ======================================
5
5
 
6
 
$LastChangedDate: 2006-01-29 01:04:18 +0100 (Sun, 29 Jan 2006) $
 
6
$LastChangedDate: 2006-10-27 21:27:02 +0000 (Fri, 27 Oct 2006) $
7
7
 
8
8
 
9
9
Contents:
36
36
      ==================
37
37
 
38
38
      Subversion depends on a number of third party tools and libraries.
39
 
      If you are bootstrapping from a tarball, zipfile or an RPM then
40
 
      you will already have everything you require to get a Subversion
41
 
      client.  So long as you don't plan to build a new client from the
42
 
      latest source or to build a Subversion server, you can go directly
43
 
      to section II.A.
44
 
 
45
 
      Otherwise, you need to read the following so that you can determine
 
39
      Some of them are only required to run a Subversion server; others
 
40
      are necessary just for a Subversion client.  This section explains
46
41
      what other tools and libraries will be required so that Subversion
47
42
      can be built with the set of features you want.
48
43
 
52
47
      straight to section II.  If you want to gather the pieces you will
53
48
      need before starting out, however, you should read the following.
54
49
 
 
50
      If you're just installing a Subversion client, the Subversion
 
51
      team has created a package containing the minimal prerequisite
 
52
      libraries (Apache Portable Runtime, Neon, and Zlib) called the
 
53
      "dependency package" tarball or zipfile.  You should be able to
 
54
      find it at the same place that you downloaded the Subversion
 
55
      tarball itself from. (Note that this is new as of Subversion
 
56
      1.4.0; previous releases packaged the dependencies in the same
 
57
      tarball as Subversion itself.)  If you don't have these
 
58
      libraries installed already, you can simply unpack the
 
59
      dependency package "on top of" the Subversion package; for
 
60
      example, if you are using a .tar.gz bundle on Unix, you could
 
61
      type:
 
62
 
 
63
          $ tar xzvf subversion-1.x.x.tar.gz
 
64
          $ tar xzvf subversion-deps-1.x.x.tar.gz
 
65
          $ cd subversion-1.x.x
 
66
 
 
67
      This will place 'apr', 'apr-util', 'neon', and 'zlib'
 
68
      directories directly into your unpacked Subversion distribution,
 
69
      where they will be automatically configured and built by
 
70
      Subversion's build process.
 
71
 
55
72
      Note: Because previous builds of Subversion may have installed older
56
73
      versions of these libraries, you may want to run some of the cleanup
57
74
      commands described in section II.B before installing the following.
61
78
 
62
79
      Whenever you want to build any part of Subversion, you need the
63
80
      Apache Portable Runtime (APR) and the APR Utility (APR-util)
64
 
      libraries. These are included in Subversion source tarball releases -
65
 
      if you are building from a source tarball, and wish to use the
66
 
      included versions, you may skip ahead to the next requirement.
 
81
      libraries. These are included in the Subversion dependency package -
 
82
      if you are building from a source tarball and wish to use the versions
 
83
      of APR and APR-util included there, just unpack the dependency package
 
84
      and skip ahead to the next requirement.
67
85
 
68
 
      If you are not building from a tarball, you will need to get these
69
 
      yourself. Visit this page, and be sure to download the 0.9.x version:
 
86
      If you are not building from a tarball with the dependency
 
87
      package, you will need to get these yourself. Visit this page,
 
88
      and be sure to download the 0.9.x version:
70
89
 
71
90
          http://apr.apache.org/download.cgi
72
91
 
139
158
      newer. The autogen.sh script knows about that.
140
159
 
141
160
 
142
 
      4.  Neon library 0.24.7 or 0.25.5 (http://www.webdav.org/neon/)
 
161
      4.  Neon library 0.25.x or 0.26.x (http://www.webdav.org/neon/)
143
162
 
144
163
      The Neon library allows a Subversion client to interact with remote
145
164
      repositories over the Internet via a WebDAV based protocol.  If you
146
165
      want to use Subversion to connect to a server over ra_dav (via a
147
 
      http:// or https:// url), you will require Neon.
148
 
 
149
 
      The Neon library source code can be installed in "./neon" if you
 
166
      http:// or https:// url), you will require Neon.  (See also section
 
167
      I.11 for information about "serf", an experimental alternative to
 
168
      Neon for accessing servers over WebDAV.)
 
169
 
 
170
      The source code is included with the Subversion dependencies package,
 
171
      and it can also be obtained from:
 
172
 
 
173
          http://www.webdav.org/neon/neon-0.25.5.tar.gz
 
174
            -or-
 
175
          http://www.webdav.org/neon/neon-0.26.1.tar.gz
 
176
 
 
177
      Building Neon inside the subversion build:
 
178
 
 
179
      The Neon library source code can be placed in "./neon" if you
150
180
      want Subversion to build it as part of the Subversion build process.
151
 
      The source code is included with the latest Subversion tarball, and it
152
 
      can also be obtained from:
153
 
 
154
 
          http://www.webdav.org/neon/neon-0.24.7.tar.gz
155
 
            -or-
156
 
          http://www.webdav.org/neon/neon-0.25.5.tar.gz
157
 
 
158
 
      Unpack the archive using tar/gunzip and rename the resulting
159
 
      directory from ./neon-0.XX.Y to just "./neon".
160
 
 
161
 
      Without source code, a previously compiled library can be picked up
162
 
      from the standard locations. If you want to specify a nonstandard
163
 
      location, you need to use the LDFLAGS environment variable when
164
 
      you run "./configure". You may also have to specify where the
165
 
      neon-config script (which identifies various features of the Neon
166
 
      library) is kept by giving the "--with-neon=" option to
167
 
      "./configure". Note that the script should be kept in a "bin"
168
 
      subdirectory beneath wherever "--with-neon" is pointed.
169
 
 
 
181
 
 
182
      Unpack the archive using tar/gunzip.  Rename the resulting
 
183
      directory from ./neon-0.XX.Y to just "./neon", inside the top
 
184
      level of your Subversion source tree.  (This is what unpacking the
 
185
      Subversion dependencies package does, too.)
 
186
 
 
187
      Using Neon as an external library:
 
188
 
 
189
      We recommend that you keep the neon installation out of the
 
190
      Subversion working copy.  This is because most developers have
 
191
      multiple working copies of Subversion, and it is easier to use a
 
192
      single instance of the Neon library for all instances.  To do
 
193
      this, just unzip/untar Neon, and build and install it according
 
194
      to its own standard installation instructions.  Then follow the
 
195
      steps below to use the installed Neon when building 
 
196
 
 
197
      Subversion's configuration mechanism should auto-detect the
 
198
      installed Neon.  If it does not, you may need to set the LDFLAGS
 
199
      environment variable when you run "./configure", or specify
 
200
      Neon's location by passing the "--with-neon=" option to
 
201
      "./configure".  Look for the "neon-config" script in a "bin/"
 
202
      subdirectory of the target of "--with-neon".  For example, if
 
203
      you pass "--with-neon=/usr/local/myneon/", then there should be
 
204
      a file "/usr/local/myneon/bin/neon-config".
170
205
 
171
206
      5.  Berkeley DB 4.X
172
207
 
266
301
      version if MASM is not compatible with MSVC 6).
267
302
 
268
303
 
269
 
      11. Libraries for our libraries
 
304
      11. serf
 
305
 
 
306
      serf is a library for HTTP and WebDAV which is an alternative to
 
307
      Neon for accessing Subversion repositories over http:// and
 
308
      https:// URLs.  serf is designed as an asynchronous library
 
309
      which can take advantage of HTTP pipelining, so ra_serf may be
 
310
      more efficient than the Neon-based ra_dav.  The serf library can
 
311
      be found at:
 
312
 
 
313
          http://code.google.com/p/serf/
 
314
 
 
315
      In order to use ra_serf instead of ra_dav, you must install
 
316
      ra_serf, and run Subversion's ./configure with the arguments
 
317
      --with-serf and --without-neon. (The latter isn't required if
 
318
      you don't actually have Neon.)  If serf is installed in a
 
319
      non-standard place, you should use
 
320
      
 
321
          --with-serf=/path/to/serf/install
 
322
      
 
323
      instead.
 
324
 
 
325
      For more information on serf and Subversion's ra_serf, see the
 
326
      file subversion/libsvn_ra_serf/README.
 
327
 
 
328
 
 
329
      12. Libraries for our libraries
270
330
 
271
331
      Some of the libraries that Subversion depends on themselves have
272
332
      optional dependencies that can add features to what Subversion
288
348
      "--with-libs=/path/to/lib" in addition.  In particular, on Red Hat
289
349
      (but not Fedora Core) it is necessary to specify
290
350
      "--with-libs=/usr/kerberos" for OpenSSL to be found.  The zlib library
291
 
      is included in Neon by default, but you can also specify a path to the
 
351
      is included in the Subversion dependencies package, but if you are compiling
 
352
      Neon from a different source you can also specify a path to the
292
353
      library using "--with-libs".  Consult the Neon documentation for more
293
354
      information on how to use these parameters and versions of libraries
294
355
      you need.
328
389
      The Windows build scripts will compile the ZLib sources.
329
390
 
330
391
 
331
 
      11. Building The Documentation
332
 
 
333
 
      The master source format for Subversion's documentation is
334
 
      Docbook Lite.  See doc/book/README for instructions how to
335
 
      compile the book into a useful format.
336
 
 
337
 
      The preferred documentation source format used to be Texinfo. We are
338
 
      in the process of migrating all texinfo files to DocBook Lite. The
339
 
      online documentation for texinfo is at
340
 
 
341
 
      http://www.gnu.org/manual/texinfo-4.0/html_chapter/texinfo_toc.html
342
 
 
343
 
      Depending on exactly which doc targets you make, you'll need one
344
 
      or more of:
345
 
 
346
 
         * the `makeinfo' program from the latest texinfo package in
347
 
           ftp://ftp.gnu.org/pub/gnu/texinfo/
348
 
 
349
 
         * the `texi2dvi' or `texi2html' programs
350
 
 
351
 
         * the `dvipdf' script from Ghostscript (pipes dvi | ps |
352
 
                                                 Ghostscript)
353
 
 
354
 
      If `makeinfo' is not installed before `configure' is run, then
355
 
      the documentation which requires it will not be created and installed.
 
392
      13. Documentation
 
393
 
 
394
      The primary documentation for Subversion is the free book
 
395
      "Version Control with Subversion", a.k.a. "The Subversion Book",
 
396
      obtainable from http://svnbook.red-bean.com/.
 
397
      
 
398
      Various additional documentation exists in the doc/ subdirectory of
 
399
      the Subversion source.  See the file doc/README for more information.
356
400
 
357
401
 
358
402
 
410
454
 
411
455
      These instructions assume you have already installed Subversion
412
456
      and checked out a working copy of Subversion's own code --
413
 
      either the latest /trunk code, or some branch or tag.
 
457
      either the latest /trunk code, or some branch or tag.  You also
 
458
      need to have already installed whatever prerequisites that
 
459
      version of Subversion requires (if you haven't, the ./configure
 
460
      step should complain).
414
461
 
415
462
      You can discard the directory created by the tarball; you're
416
463
      about to build the latest, greatest Subversion client.  This is
456
503
      the ./configure script.  This enables debugging symbols in your
457
504
      binaries (among other things) and most Subversion developers use it.)
458
505
 
459
 
      Unlike the pre-packaged tarball (which includes apr, apr-util,
460
 
      and neon subdirectories), ./configure will fail if it cannot
461
 
      find apr, apr-util, and neon libraries already installed on your
462
 
      system.
463
 
 
464
506
      Since the resulting binary depends on shared libraries, the
465
507
      destination library directory must be identified in your
466
508
      operating system's library search path. That is in either
477
519
      It probably means that the dynamic loader/linker can't find all
478
520
      of the libsvn_* libraries.
479
521
 
480
 
      Note that if you commonly build with the -jN option to make, the
481
 
      make step above may fail, because we don't ensure that third
482
 
      party libraries in our source tree will finish building before
 
522
      Note that if you commonly build with the -jN option to make and
 
523
      have unpacked a dependency tarball into your checkout, the make
 
524
      step above may fail, because we don't ensure that third party
 
525
      libraries in our source tree will finish building before
483
526
      subversion itself.  If you want to use -jN, use the following
484
527
      instead:
485
528
 
552
595
      client, the SVNADMIN administration tool, and the SVNLOOK
553
596
      reporting tool.
554
597
 
 
598
      Note that if you need support for non-english locales you'll have
 
599
      to set the APR_ICONV_PATH environment variable to the path of the
 
600
      iconv directory in the folder that contains the Subversion install.
 
601
 
 
602
      You may also want to add the bin directory in the Subversion folder
 
603
      to your PATH environment variable so as to not have to use the full
 
604
      path when running Subversion commands.
 
605
 
555
606
      To test the installation, open a DOS box (run either "cmd" or
556
607
      "command" from the Start menu's "Run..." menu option), change to
557
608
      the directory you installed the executables into, and run:
564
615
      If using a self-extracting .exe file, just run it instead of
565
616
      unzipping it, to install Subversion.
566
617
 
567
 
 
568
618
  E.  Building the Latest Source under Windows
569
619
      ----------------------------------------
570
620
 
571
621
  E.1 Prerequisites
572
622
 
573
 
      * Visual Studio 6 and service pack. It can be built with Visual Studio
574
 
        7 (aka Visual Studio.NET aka Visual Studio.NET 2002) but these
575
 
        instructions assume VS6.
576
 
      * A recent Windows SDK, the one provided with Visual Studio 6 is
577
 
        too old. You only need the 'Core SDK'. You can get it from MSDN
578
 
        if you have it or from
 
623
      * Visual Studio 6 and service pack. It can be built with later versions
 
624
        of Visual Studio (Visual Studio.NET 2002, 2003, 2005 and Visual C++
 
625
        Express 2005) but these instructions assume VS6.
 
626
      * A recent Windows SDK if you are using Visual Studio 6.
 
627
        You can get it from MSDN if you have it or from
579
628
        http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ if you
580
629
        don't.
581
630
      * Python 2.2 or higher, downloaded from http://www.python.org/ which is
582
631
        used to generate the project files.
583
632
      * Perl 5.8 or higher from http://www.activestate.com/
584
 
      * Awk, from http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe
585
 
        This is needed to compile Apache or APR.  Note that this is the
586
 
        actual awk program, not an installer - just rename it to awk.exe
587
 
        and it is ready to use.
 
633
      * Awk (from http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe) is
 
634
        needed to compile Apache or APR.  Note that this is the actual awk
 
635
        program, not an installer - just rename it to awk.exe and it is
 
636
        ready to use.
588
637
      * Neon 0.24.7 or higher, downloaded from
589
638
        http://www.webdav.org/neon/neon-0.24.7.tar.gz which is required
590
639
        for building the client components.  Neon is included in the zip file
591
640
        distribution.
592
 
      * Berkeley DB is required for support for local server components,
593
 
        version 4.3.27 is available from
594
 
        http://subversion.tigris.org/servlets/ProjectDocumentList as
595
 
        db-4.3.27-win32.zip. For more information see Section I.5.
596
 
      * Apache 2 source, downloaded from
597
 
        http://httpd.apache.org/download.cgi, these instructions assume
598
 
        version 2.0.54.  Only needed for building the server dso modules.
599
 
      * Apache 2 msi install file, also from
600
 
        http://httpd.apache.org/download.cgi (required for running the
601
 
        tests).  Only needed for testing the server dso modules.
602
 
      * Apache apr, apr-util, and apr-iconv libraries, version 0.9.5.
603
 
        Included in both the Subversion ZIP file and the Apache 2 source
604
 
        tarball.  If you are building from a Subversion checkout and have
605
 
        not downloaded Apache 2, then get these 3 libraries from
606
 
        http://www.apache.org/dist/apr/
607
 
      * ZLib 1.2 or higher sources from http://www.zlib.org/
608
 
      * Openssl 0.9.7f or higher obtained from
609
 
        http://www.openssl.org/source/openssl-0.9.7f.tar.gz
610
 
      * A modified version of GNU libintl, called svn-win32-libintl.zip,
611
 
        for displaying localized messages. Available in
612
 
        http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=2627
613
 
      * GNU gettext for generating message catalog (.mo) files from
614
 
        message translations. Get the latest binaries from
615
 
        http://gnuwin32.sourceforge.net/. You'll need the binaries
616
 
        (gettext-0.14.1-bin.zip) and dependencies (gettext-0.14.1-dep.zip).
 
641
      * Apache apr, apr-util, and apr-iconv libraries, version 0.9.12.
 
642
        Included in both the Subversion dependencies ZIP file and the
 
643
        Apache 2.058 source zip.  If you are building from a Subversion
 
644
        checkout and have not downloaded Apache 2, then get these 3
 
645
        libraries from http://www.apache.org/dist/apr/.  Note that
 
646
        the 1.x APR releases are not yet functional with Subversion --
 
647
        see the note on '[Optional] Apache 2 source' below.
 
648
      * ZLib 1.2 or higher is required and is included in the Subversion
 
649
        dependencies zip file or can be obtained from http://www.zlib.org
617
650
      * Either a Subversion client binary from http://subversion.tigris.org/ to
618
651
        do the initial checkout of the Subversion source or the zip file
619
652
        source distribution. See the section "Bootstrapping from a Zip or
620
653
        Installer File under Windows" above for more.
621
654
      * A means of unpacking the files, e.g., WinZIP or similar.
 
655
 
 
656
      Additional Options
 
657
 
 
658
      * [Optional] Apache 2 source, downloaded from
 
659
        http://httpd.apache.org/download.cgi, these instructions assume
 
660
        version 2.0.58.  Only needed for building the server dso modules.
 
661
        Note that although Subversion will compile against Apache 2.2.2
 
662
        and APR 1.2.7, there is a bug that causes runtime failures with
 
663
        Subversion on Windows.  It will hopefully be fixed in the
 
664
        Apache 2.2.3 and APR 1.2.8 release.  The patch is available at:
 
665
        http://www.mail-archive.com/dev@apr.apache.org/msg15242.html if
 
666
        you want to patch and build APR yourself.
 
667
      * [Optional] Apache 2 msi install file, also from
 
668
        http://httpd.apache.org/download.cgi (required for running the
 
669
        tests).  Only needed for testing the server dso modules and if
 
670
        you are using Visual Studio 6.
 
671
        Note that if you are not using Visual Studio 6 (and you want to
 
672
        run and test the server modules) then you must rebuild Apache
 
673
        from source -- do not use the stock MSI since mixing C runtime
 
674
        libraries is not supported.
 
675
      * [Optional] Berkeley DB for backend support of the server
 
676
        components -- versions 4.3.27 and 4.4.20 are available from
 
677
        http://subversion.tigris.org/servlets/ProjectDocumentList as
 
678
        db-4.3.27-win32.zip and db-4.4.20-win32.zip.
 
679
        For more information see Section I.5.
 
680
      * [Optional] Openssl 0.9.7f or higher can be obtained from
 
681
        http://www.openssl.org/source/openssl-0.9.7f.tar.gz
 
682
      * [Optional] A modified version of GNU libintl, called
 
683
        svn-win32-libintl.zip, can be used for displaying localized
 
684
        messages. Available at:
 
685
        http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=2627
 
686
      * [Optional] GNU gettext for generating message catalog (.mo)
 
687
        files from message translations. You can get the latest
 
688
        binaries from http://gnuwin32.sourceforge.net/. You'll need the
 
689
        binaries (gettext-0.14.1-bin.zip) and dependencies
 
690
        (gettext-0.14.1-dep.zip).
622
691
      * [Optional] An assembler, e.g., MASM32 from http://www.mas32.com/
623
692
        or nasm which is available from
624
693
        http://www.kernel.org/pub/software/devel/nasm/binaries/win32/
626
695
   E.2 Notes
627
696
 
628
697
      The Neon library supports secure connections with OpenSSL and
629
 
      on-the-wire compression with zlib. If you want to use those
630
 
      features, you should pass the options "--with-zlib" and
 
698
      on-the-wire compression with zlib. If you want to use the
 
699
      secure connections feature, you should pass the option
631
700
      "--with-openssl" to the gen-make.py script. See Section I.11 for
632
701
      more details.
633
702
 
658
727
 
659
728
      * Install Visual Studio 6. You either have to tell the installer to
660
729
        register environment variables or run VCVARS32.BAT before building
661
 
        anything.
662
 
      * Install a recent Windows Core SDK
663
 
      * Register the SDK with Visual Studio 6. This is a quote from the
664
 
        Microsoft February 2003 SDK documentation:
 
730
        anything.  If you are using a newer Visual Studio, use the
 
731
        'Visual Studio 200x Command Prompt' on the Start menu.
 
732
      * Install and register a recent Windows Core SDK if you are using
 
733
        Visual Studio 6. This is a quote from the Microsoft February 2003
 
734
        SDK documentation:
665
735
 
666
736
       "To register the SDK bin, include, and library directories with
667
737
        Microsoft Visual Studio� version 6.0 and Visual Studio .NET,
682
752
      * Copy AWK (awk95.exe) to awk.exe (e.g. SVN\awk\awk.exe) and add
683
753
        the directory containing it (e.g. SVN\awk) to the path.
684
754
      * Install Apache 2 using the msi file if you are going to test the
685
 
        server dso modules.
 
755
        server dso modules and are using Visual Studio 6.  You must build
 
756
        and install it from source if you are not using Visual Studio 6 and
 
757
        want to build and/or test the server modules.
686
758
      * If you checked out Subversion from the repository then extract neon
687
759
        into SVN\src-trunk\neon, the zip file source distribution includes
688
760
        neon.
689
 
      * Extract the Berkeley DB files into SVN\src-trunk\db4-win32. It's a
690
 
        good idea to add SVN\src-trunk\db4-win32\bin to your PATH, so that
691
 
        Subversion can find the Berkeley DB DLLs.
 
761
      * If you want BDB backend support, extract the Berkeley DB files
 
762
        into SVN\src-trunk\db4-win32. It's a good idea to add
 
763
        SVN\src-trunk\db4-win32\bin to your PATH, so that Subversion can find
 
764
        the Berkeley DB DLLs.
692
765
 
693
766
        [NOTE: This binary package of Berkeley DB is provided for
694
767
            convenience only. Please don't address questions about
696
769
            to the project mailing list.]
697
770
 
698
771
        If you build Berkeley DB from the source, you will have to copy
699
 
        the file db-4.3.27\build_win32\db.h to
 
772
        the file db-x.x.x\build_win32\db.h to
700
773
        SVN\src-trunk\db4-win32\include, and all the import libraries to
701
774
        SVN\src-trunk\db4-win32\lib. Again, the DLLs should be somewhere in
702
775
        your path.
703
776
 
704
 
      * Extract Apache source into SVN\http-2.0.54 if you wish to build the
705
 
        server dso modules.
 
777
      * If you want to build the server modules, extract Apache source into
 
778
        SVN\httpd-2.x.x.
706
779
      * If you are building from a checkout of Subversion, and you are NOT
707
780
        building Apache, then you will need the APR libraries.  Depending
708
781
        on how you got your version of APR, either:
712
785
          - Extract the apr, apr-util and apr-iconv directories from the
713
786
            srclib folder in the Apache httpd source into SVN\apr,
714
787
            SVN\apr-util, and SVN\apr-iconv respectively.
715
 
      * Extract the ZLib sources into SVN\zlib.
716
 
      * Extract openssl into SVN\openssl-0.9.7f
717
 
      * Extract svn-win32-libintl.zip into SVN\svn-win32-libintl.
718
 
        Add SVN\svn-win32-libintl\inc to your INCLUDE path and
719
 
        SVN\svn-win32-libintl\lib to your LIB path environment variables.
720
 
        You can add these on the command line as shown below.
721
 
      * Extract gettext-0.14.1-bin.zip and gettext-0.14.1-dep.zip into
722
 
        SVN\gettext-0.14.1-bin. Add SVN\gettext-0.14.1-bin\bin to your path.
 
788
      * Extract the ZLib sources into SVN\zlib if you are not using the zlib
 
789
        included in the dependencies zip file.
 
790
      * If you want secure connection (https) client support, extract openssl
 
791
        into SVN\openssl-x.x.x
 
792
      * If you want localized message support, extract svn-win32-libintl.zip
 
793
        into SVN\svn-win32-libintl and extract gettext-x.x.x-bin.zip and
 
794
        gettext-x.x.x-dep.zip into SVN\gettext-x.x.x-bin.
 
795
        Add SVN\gettext-x.x.x-bin\bin to your path.
723
796
      * [Optional] Extract MASM32 (only the ML.EXE and ML.ERR files) into
724
797
        SVN\asm (or extract nasm into SVN\asm) and put it in your path.
725
798
 
728
801
    To build the binaries either follow the instructions here or use
729
802
    build\win32\vc6-build.bat.in after editing it's default paths to match
730
803
    yours and saving it as vc6-build.bat.  The vc6-build.bat does a full build
731
 
    so it requires Apache 2 source and if the tests are to be run the
732
 
    Apache 2 install.
 
804
    using all options so it requires Apache 2 source and the other optional
 
805
    components.
733
806
 
734
807
    Start in the SVN directory you created.
735
808
 
743
816
    C:>set ASMDIR=C:\SVN\asm
744
817
    C:>set SDKINC=C:\Program Files\Microsoft SDK\include
745
818
    C:>set SDKLIB=C:\Program Files\Microsoft SDK\lib
746
 
    C:>set LIBINTLINC=C:\SVN\svn-win32-libintl\inc
747
 
    C:>set LIBINTLLIB=C:\SVN\svn-win32-libintl\lib
748
819
    C:>set GETTEXTBIN=C:\SVN\gettext-0.14.1-bin\bin
749
820
    C:>PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%ASMDIR%;
750
821
            %PYTHONDIR%;%AWKDIR%;%GETTEXTBIN%
751
 
    C:>set INCLUDE=%SDKINC%;%INCLUDE%;%LIBINTLINC%
752
 
    C:>set LIB=%SDKLIB%;%LIB%;%LIBINTLLIB%
 
822
    C:>set INCLUDE=%SDKINC%;%INCLUDE%
 
823
    C:>set LIB=%SDKLIB%;%LIB%
753
824
 
754
825
    OpenSSL
755
826
 
772
843
    Apache and Subversion will be running incompatible versions of apr.
773
844
 
774
845
    C:>cd src-%DIR%
775
 
    C:>python gen-make.py -t dsp --with-httpd=..\httpd-2.0.54
 
846
    C:>python gen-make.py -t dsp --with-httpd=..\httpd-2.0.58
776
847
       --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7f
777
 
       --with-zlib=..\zlib --enable-nls --enable-bdb-in-apr-util
 
848
       --with-zlib=..\zlib --with-libintl=..\svn-win32-libintl
778
849
    C:>cd ..
779
850
    C:>set APACHEDIR=C:\Program Files\Apache Group\Apache2
780
 
    C:>msdev httpd-2.0.54\apache.dsw /MAKE "BuildBin - Win32 Release"
 
851
    C:>msdev httpd-2.0.58\apache.dsw /MAKE "BuildBin - Win32 Release"
781
852
 
782
853
    Subversion
783
854
 
789
860
        apr files yourself you will have to tell the generator where to find
790
861
        the APR libraries; the options are --with-apr, --with-apr-util and
791
862
        --with-apr-iconv.
792
 
      * You can skip setting the LIBINTLINC and LIBINTLLIB variables, and
793
 
        add "--with-libintl=..\svn-win32-libintl" to the gen-make.py command
794
 
        line instead.
795
863
      * If you would like a debug build substitute Debug for Release in
796
864
        the msdev commands.
797
865
      * There have been rumors that Subversion on Win32 can be built
806
874
        directories must be in the Tools/Options/Directories settings (if you
807
875
        followed the 'Register the SDK with Visual Studio 6' instructions
808
876
        above this has been done for you).
809
 
      * If you are using Visual Studio .NET change -t dsw into -t vcproj on
810
 
        the gen-make.py command.  In this case you will also have to
811
 
        distribute the C runtime dll with the binaries.
 
877
      * If you are using Visual Studio .NET change -t dsw into -t vcproj and
 
878
        add the --vsnet-version=200x option on the gen-make.py command.
 
879
        In this case you will also have to distribute the C runtime dll with
 
880
        the binaries.  Also, since Apache/APR do not provide .vcproj files,
 
881
        you will need to convert the Apache/APR .dsp files to .vcproj files
 
882
        with Visual Studio before building -- just open the Apache .dsw file
 
883
        and answer 'Yes To All' when the conversion dialog pops up, or you
 
884
        can open the individual .dsp files and convert them one at a time.
 
885
        The Apache/APR projects required by Subversion are:
 
886
        apr-util\libaprutil.dsp, apr\libapr.dsp,
 
887
        apr-iconv\libapriconv.dsp, apr-util\xml\expat\lib\xml.dsp,
 
888
        apr-util\uri\gen_uri_delims.dsp (for APR 0.9.x),
 
889
        apr-iconv\ccs\libapriconv_ccs_modules.dsp, and
 
890
        apr-iconv\ces\libapriconv_ces_modules.dsp.
812
891
      * If the server dso modules are being built and tested Apache must not
813
892
        be running or the copy of the dso modules will fail.
814
893
 
820
899
 
821
900
    C:>python gen-make.py -t dsp --with-berkeley-db=db4-win32
822
901
        --with-openssl=..\openssl-0.9.7f --with-zlib=..\zlib
823
 
        --enable-bdb-in-apr-util --with-libintl=..\svn-win32-libintl
 
902
        --with-libintl=..\svn-win32-libintl
824
903
 
825
904
    Then build subversion:
826
905
 
827
906
    C:>msdev subversion_msvc.dsw /USEENV /MAKE "__ALL_TESTS__ - Win32 Release"
828
907
    C:>cd ..
829
908
 
830
 
    Or, with Visual C++.NET:
831
 
 
832
 
    C:>devenv subversion_vcnet.sln /USEENV /build "Debug"
833
 
        /project "__ALL_TESTS__"
 
909
    Or, with Visual C++.NET 2002, 2003, 2005:
 
910
 
 
911
    C:>devenv subversion_vcnet.sln /build "Release" /project "__ALL_TESTS__"
 
912
    C:>cd ..
 
913
 
 
914
    Or, with Visual C++ Express 2005:
 
915
 
 
916
    C:>msbuild subversion_vcnet.sln /t:__ALL_TESTS__ /p:Configuration=Release
834
917
    C:>cd ..
835
918
 
836
919
    The binaries have now been built.
855
938
    copy the client tests into the release test area.
856
939
 
857
940
    C:>cd src-%DIR%
858
 
    C:>mkdir Release\subversion\tests\clients
859
 
    C:>xcopy /S /Y subversion\tests\clients Release\subversion\tests\clients
 
941
    C:>mkdir Release\subversion\tests\cmdline
 
942
    C:>xcopy /S /Y subversion\tests\cmdline Release\subversion\tests\cmdline
860
943
 
861
944
    If the server dso modules  have been built then copy the dso files and
862
945
    dlls into the Apache modules directory.
894
977
 
895
978
      <Location /svn-test-work/repositories>
896
979
       DAV svn
897
 
       SVNParentPath C:/SVN/src-trunk/Release/subversion/tests/clients/cmdline/
 
980
       SVNParentPath C:/SVN/src-trunk/Release/subversion/tests/cmdline/
898
981
                     svn-test-work/repositories
899
982
      </Location>
900
983
 
901
984
      <Location /svn-test-work/local_tmp/repos>
902
985
       DAV svn
903
 
       SVNPath c:/SVN/src-trunk/Release/subversion/tests/clients/cmdline/
 
986
       SVNPath c:/SVN/src-trunk/Release/subversion/tests/cmdline/
904
987
               svn-test-work/local_tmp/repos
905
988
      </Location>
906
989
 
1150
1233
      the Apache error logfile, /usr/local/apache2/logs/error_log.
1151
1234
 
1152
1235
      To run the regression test suite for networked Subversion, see
1153
 
      the instructions in subversion/tests/clients/cmdline/README.
 
1236
      the instructions in subversion/tests/cmdline/README.
1154
1237
      For advice about tracing problems, see "Debugging the server" in
1155
1238
      www/hacking.html.
1156
1239