[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] Update INSTALL and vc6-build.bat.

From: Martin Tomes <lists_at_tomes.org>
Date: 2004-08-09 10:25:53 CEST

Branko Čibej wrote:
> Ben Reser wrote:
>> On Thu, Aug 05, 2004 at 12:49:23PM +0100, Martin Tomes wrote:
>>> Update the Win32 build instructions and batch file.
>>>
>>> * INSTALL
>>> Describe how to build from the zip source file with and
>>> without building and testing the server dso modules.
>>> Change the Apache version to 2.0.50 as that is what is
>>> currently easily available from the Apache web site.
>>> * vc6-build.bat.in
>>> Use Apache 2.0.50 as per INSTALL instructions.
>>>
> I see two posible issues:
>
> * if apr, apr-util, apr-iconv and db4-win32 are in the source tree,
> you don't need the --with-... options, since those are the default
> locations.
> * It's a good idea to do the gen-make with --enable-bdb-in-apr-util
> _before_ building Apache, otherwise you get two incompatible
> versions of the APR libraries.

Revised patches attached.

-- 
Martin Tomes
echo 'martin at tomes x org x uk'\
  | sed -e 's/ x /\./g' -e 's/ at /@/'
The Subversion Wiki is at http://www.subversionary.org/

Index: INSTALL
===================================================================
--- INSTALL (revision 10491)
+++ INSTALL (working copy)
@@ -570,17 +570,18 @@
       * Perl 5.8 or higher from http://www.activestate.com/
       * Neon 0.24.7 or higher, downloaded from
         http://www.webdav.org/neon/neon-0.24.7.tar.gz which is required
- for building the client components.
+ for building the client components. Neon is included in the zip file
+ distribution.
       * Berkeley DB is required for support for local server components,
         version 4.2.52 is available from
         http://subversion.tigris.org/servlets/ProjectDocumentList as
         db-4.2.52-win32.zip. For more information see Section I.5.
       * Apache 2 source, downloaded from
         http://httpd.apache.org/download.cgi, these instructions assume
- version 2.0.49.
+ version 2.0.50. Only needed for building the server dso modules.
       * Apache 2 msi install file, also from
         http://httpd.apache.org/download.cgi (required for running the
- tests)
+ tests). Only needed for testing the server dso modules.
       * ZLib 1.1.4 or higher (version 1.1.x) binaries
         http://www.winimage.com/zLibDll/zlib114dll.zip.
       * Openssl 0.9.7d or higher obtained from
@@ -593,23 +594,23 @@
         libiconv-1.9.1.bin.woe32.zip from
         http://mirrors.kernel.org/gnu/gettext/ and
         http://mirrors.kernel.org/gnu/libiconv/.
- * A Subversion client binary from http://subversion.tigris.org/ to
- do the initial checkout of the Subversion source. See the section
- "Bootstrapping from a Zip or Installer File under Windows" above
- for more.
+ * Either a Subversion client binary from http://subversion.tigris.org/ to
+ do the initial checkout of the Subversion source or the zip file
+ source distribution. See the section "Bootstrapping from a Zip or
+ Installer File under Windows" above for more.
       * A means of unpacking the files. The Subversion tar.gz file uses the
         POSIX.1 standard for file names which exceed 100 characters. This
         format is not understood by all programs which claim to be able to
         unpack .tar.gz files. Notable examples of this are WinZip and the
- utilities which can be found at http://unxutils.sourceforge.net/.
- The version of tar at http://gnuwin32.sourceforge.net/ is derived from
- GNU tar, so it can handle POSIX.1. However, it is *not* able to unpack
- gzip files, neither is it able to pipe from gzip. Thus the unpacking
- must be done in two steps if you are using that program.
- Cygwin can unpack this file, however cygwin is a large package to
- install such just to unpack the tarball on Windows. The Subversion
- project will be making source releases available in zip format so when
- this is available use it in preference to the .tar.gz file.
+ utilities which can be found at http://unxutils.sourceforge.net/. The
+ version of tar at http://gnuwin32.sourceforge.net/ is derived from GNU
+ tar, so it can handle POSIX.1. However, it is *not* able to unpack
+ gzip files, although it is able to read a pipe from gzip. Cygwin can
+ unpack this file, however cygwin is a large package to install such
+ just to unpack the tarball on Windows. To avoid these problems use
+ the Subversion zip file source distribution. The other required
+ package which is packaged as a tar file (openssl) can be unpacked with
+ any of the utilities mentioned.
 
    E.2 Notes
 
@@ -631,10 +632,13 @@
       This section describes how to unpack the files to make a build tree.
 
       * Make a directory SVN and cd into it.
- * Checkout Subversion:
+ * Either checkout Subversion:
 
           svn co http://svn.collab.net/repos/svn/trunk/ src-trunk
 
+ or unpack the zip file distribution and rename the directory to
+ src-trunk.
+
       * Install Visual Studio 6. You either have to tell the installer to
         register environment variables or run VCVARS32.BAT before building
         anything.
@@ -658,8 +662,11 @@
 
       * Install Python and add it to your path
       * Install Perl
- * Install Apache 2 using the msi file
- * Extract neon into SVN\src-trunk\neon
+ * Install Apache 2 using the msi file if you are going to test the
+ server dso modules.
+ * If you checked out Subversion from the repository then extract neon
+ into SVN\src-trunk\neon, the zip file source distribution includes
+ neon.
       * Extract the Berkeley DB files into SVN\src-trunk\db4-win32. It's a
         good idea to add SVN\src-trunk\db4-win32\bin to your PATH, so that
         Subversion can find the Berkeley DB DLLs.
@@ -675,7 +682,8 @@
         SVN\src-trunk\db4-win32\lib. Again, the DLLs should be somewhere in
         your path.
 
- * Extract Apache source into SVN\http-2.0.49
+ * Extract Apache source into SVN\http-2.0.50 if you wish to build the
+ server dso modules.
       * Extract the pre-built zlib into SVN\zlib and copy
         SVN\zlib\static32\zlibstat.lib into SVN\zlib
       * Extract openssl into SVN\openssl-0.9.7d
@@ -692,7 +700,9 @@
 
     To build the binaries either follow the instructions here or use
     build\win32\vc6-build.bat.in after editing it's default paths to match
- yours and saving it as vc6-build.bat.
+ yours and saving it as vc6-build.bat. The vc6-build.bat does a full build
+ so it requires Apache 2 source and if the tests are to be run the
+ Apache 2 install.
 
     Start in the SVN directory you created.
 
@@ -704,7 +714,6 @@
     C:>set PYTHONDIR=C:\Python22
     C:>set SDKINC=C:\Program Files\Microsoft SDK\include
     C:>set SDKLIB=C:\Program Files\Microsoft SDK\lib
- C:>set APACHEDIR=C:\Program Files\Apache Group\Apache2
     C:>set GETTEXTINC=C:\SVN\gettext\include
     C:>set GETTEXTLIB=C:\SVN\gettext\lib
     C:>set GETTEXTBIN=C:\SVN\gettext\bin
@@ -725,20 +734,34 @@
 
     Apache 2
 
- C:>msdev httpd-2.0.49\apache.dsw /MAKE "BuildBin - Win32 Release"
+ This step is only required for building the server dso modules.
 
+ The Subversion gen-make.py script must be run before building Apache or
+ Apache and Subversion will be running incompatible versions of apr.
+
+ C:>cd src-%DIR%
+ C:>python gen-make.py -t dsp --with-httpd=..\httpd-2.0.50
+ --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7d
+ --with-zlib=..\zlib --enable-nls --enable-bdb-in-apr-util
+ C:>cd ..
+ C:>set APACHEDIR=C:\Program Files\Apache Group\Apache2
+ C:>msdev httpd-2.0.50\apache.dsw /MAKE "BuildBin - Win32 Release"
+
     Subversion
 
     Things to note:
 
       * If you don't want to build mod_dav_svn, omit the --with-httpd
- option. In this case, you will have to tell the generator where
- to find the APR libraries; the options are --with-apr,
- --with-apr-util and --with-apr-iconv.
+ option. The zip file source distribution contains apr, apr-util and
+ apr-iconv in the default build location. If you have downloaded the
+ apr files yourself you will have to tell the generator where to find
+ the APR libraries; the options are --with-apr, --with-apr-util and
+ --with-apr-iconv.
       * If you would like a debug build substitute Debug for Release in
         the msdev commands.
       * There have been rumors that Subversion on Win32 can be built
- using the latest cygwin. ymmv.
+ using the latest cygwin, you probably don't want the zip file source
+ distribution though. ymmv.
       * The /USEENV switch to msdev makes it take notice of the INCLUDE and
         LIB environment variables, it also makes it ignore it's own lib and
         include settings so you need to have the Windows SDK lib and include
@@ -751,12 +774,21 @@
       * If you are using Visual Studio .NET add -t vcproj to the gen-make.py
         command, you will also have to distribute the C runtime dll with the
         binaries.
- * Apache must not be running or the copy of the modules will fail.
+ * If the server dso modules are being built and tested Apache must not
+ be running or the copy of the dso modules will fail.
 
     C:>cd src-%DIR%
- C:>python gen-make.py -t dsp --with-httpd=..\httpd-2.0.49
- --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7d
- --with-zlib=..\zlib --enable-nls --enable-bdb-in-apr-util
+
+ If Apache 2 has been built and the server modules are required then
+ gen-make.py will already have been run. If the source is from the zip
+ file, Apache 2 has not been built so gen-make.py must be run:
+
+ C:>python gen-make.py -t dsp --with-berkeley-db=db4-win32
+ --with-openssl=..\openssl-0.9.7d --with-zlib=..\zlib --enable-nls
+ --enable-bdb-in-apr-util
+
+ Then build subversion:
+
     C:>msdev subversion_msvc.dsw /USEENV /MAKE "__ALL_TESTS__ - Win32 Release"
     C:>cd ..
 
@@ -777,11 +809,6 @@
     C:>copy src-%DIR%\db4-win32\bin\libdb42.dll svn-win32-%VER%\bin
     C:>copy openssl-0.9.7d\out32dll\libeay32.dll svn-win32-%VER%\bin
     C:>copy openssl-0.9.7d\out32dll\ssleay32.dll svn-win32-%VER%\bin
- C:>copy httpd-2.0.49\srclib\apr\Release\libapr.dll svn-win32-%VER%\bin
- C:>copy httpd-2.0.49\srclib\apr-iconv\Release\libapriconv.dll
- svn-win32-%VER%\bin
- C:>copy httpd-2.0.49\srclib\apr-util\Release\libaprutil.dll
- svn-win32-%VER%\bin
     C:>copy gettext\bin\intl.dll svn-win32-%VER%\bin
     C:>copy gettext\bin\iconv.dll svn-win32-%VER%\bin
     C:>copy src-%DIR%\Release\subversion\clients\cmdline\svn.exe
@@ -797,6 +824,24 @@
     C:>copy src-%DIR%\Release\subversion\svnversion\svnversion.exe
        svn-win32-%VER%\bin
 
+ If Apache 2 and the server modules were built:
+
+ C:>copy httpd-2.0.50\srclib\apr\Release\libapr.dll svn-win32-%VER%\bin
+ C:>copy httpd-2.0.50\srclib\apr-iconv\Release\libapriconv.dll
+ svn-win32-%VER%\bin
+ C:>copy httpd-2.0.50\srclib\apr-util\Release\libaprutil.dll
+ svn-win32-%VER%\bin
+ C:>copy httpd-2.0.50\srclib\apr-iconv\Release\iconv\*.so
+ svn-win32-%VER%\iconv
+
+ If the source is from the zip file, Apache 2 has not been built and the
+ server modules are not required:
+
+ C:>copy src-%DIR%\apr\Release\libapr.dll svn-win32-%VER%\bin
+ C:>copy src-%DIR%\apr-iconv\Release\libapriconv.dll svn-win32-%VER%\bin
+ C:>copy src-%DIR%\apr-util\Release\libaprutil.dll svn-win32-%VER%\bin
+ C:>copy src-%DIR%\apr-iconv\Release\iconv\*.so svn-win32-%VER%\iconv
+
    E.6 Testing the Binaries
 
     The build process creates the binary test programs but it does not
@@ -806,7 +851,8 @@
     C:>mkdir Release\subversion\tests\clients
     C:>xcopy /S /Y subversion\tests\clients Release\subversion\tests\clients
 
- Copy the dso files into the Apache modules directory.
+ If the server dso modules have been built then copy the dso files and
+ dlls into the Apache modules directory.
 
     C:>copy Release\subversion\mod_dav_svn\mod_dav_svn.so "%APACHEDIR%"\modules
     C:>copy Release\subversion\mod_authz_svn\mod_authz_svn.so
@@ -814,17 +860,22 @@
     C:>copy svn-win32-%VER%\bin\intl.dll "%APACHEDIR%\bin"
     C:>copy svn-win32-%VER%\bin\iconv.dll "%APACHEDIR%\bin"
     C:>copy svn-win32-%VER%\bin\libdb42.dll "%APACHEDIR%\bin"
- C:>copy httpd-2.0.49\srclib\apr-iconv\Release\iconv\*.so
- svn-win32-%VER%\iconv
     C:>cd ..
 
     Put the svn-win32-trunk\bin directory at the start of your path so
     you run the newly built binaries and not another version you might
     have installed.
 
- Configure Apache to use the mod_dav_svn and mod_authz_svn modules by
- making sure these lines appear uncommented in httpd.conf:
+ Then run the client tests:
 
+ C:>PATH=%DRIVE%:\SVN\svn-win32-%VER%\bin;%PATH%
+ C:>cd src-%DIR%
+ C:>python win-tests.py -c -r -v
+
+ If the server dso modules were built configure Apache to use the
+ mod_dav_svn and mod_authz_svn modules by making sure these lines appear
+ uncommented in httpd.conf:
+
       LoadModule dav_module modules/mod_dav.so
       LoadModule dav_fs_module modules/mod_dav_fs.so
       LoadModule dav_svn_module modules/mod_dav_svn.so
@@ -848,9 +899,6 @@
 
     Then restart Apache and run the tests:
 
- C:>PATH=%DRIVE%:\SVN\svn-win32-%VER%\bin;%PATH%
- C:>cd src-%DIR%
- C:>python win-tests.py -c -r -v
     C:>python win-tests.py -c -r -v -u http://localhost
     C:>cd ..
 

Index: vc6-build.bat.in
===================================================================
--- vc6-build.bat.in (revision 10491)
+++ vc6-build.bat.in (working copy)
@@ -28,7 +28,7 @@
 cd ..
 
 rem ====== Check the prerequisites are at least in the right place.
-if not exist httpd-2.0.49 goto httpderr
+if not exist httpd-2.0.50 goto httpderr
 if not exist nasm goto nasmerr
 if not exist openssl-0.9.7d goto opensslerr
 if not exist src-%DIR% goto svnerr
@@ -43,7 +43,7 @@
 echo Unable to find %DRIVE%:\SVN\src-%DIR%\subversion
 goto theveryend
 :httpderr
-echo Unable to find httpd-2.0.49
+echo Unable to find httpd-2.0.50
 goto end
 :nasmerr
 echo Unable to find nasm
@@ -81,11 +81,11 @@
 cd ..\..
 
 rem ====== Build Apache 2
-msdev httpd-2.0.49\apache.dsw /MAKE "BuildBin - Win32 Release"
+msdev httpd-2.0.50\apache.dsw /MAKE "BuildBin - Win32 Release"
 
 rem ====== Subversion
 cd src-%DIR%
-python gen-make.py -t dsp --with-httpd=..\httpd-2.0.49 --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7d --with-zlib=..\zlib --enable-nls --enable-bdb-in-apr-util
+python gen-make.py -t dsp --with-httpd=..\httpd-2.0.50 --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7d --with-zlib=..\zlib --enable-nls --enable-bdb-in-apr-util
 msdev subversion_msvc.dsw /USEENV /MAKE "__ALL_TESTS__ - Win32 Release"
 mkdir Release\subversion\tests\clients
 xcopy /S /Y subversion\tests\clients Release\subversion\tests\clients
@@ -101,9 +101,9 @@
 copy src-%DIR%\db4-win32\bin\libdb42.dll svn-win32-%VER%\bin
 copy openssl-0.9.7d\out32dll\libeay32.dll svn-win32-%VER%\bin
 copy openssl-0.9.7d\out32dll\ssleay32.dll svn-win32-%VER%\bin
-copy httpd-2.0.49\srclib\apr\Release\libapr.dll svn-win32-%VER%\bin
-copy httpd-2.0.49\srclib\apr-iconv\Release\libapriconv.dll svn-win32-%VER%\bin
-copy httpd-2.0.49\srclib\apr-util\Release\libaprutil.dll svn-win32-%VER%\bin
+copy httpd-2.0.50\srclib\apr\Release\libapr.dll svn-win32-%VER%\bin
+copy httpd-2.0.50\srclib\apr-iconv\Release\libapriconv.dll svn-win32-%VER%\bin
+copy httpd-2.0.50\srclib\apr-util\Release\libaprutil.dll svn-win32-%VER%\bin
 copy gettext\bin\intl.dll svn-win32-%VER%\bin
 copy gettext\bin\iconv.dll svn-win32-%VER%\bin
 copy src-%DIR%\Release\subversion\clients\cmdline\svn.exe svn-win32-%VER%\bin
@@ -117,7 +117,7 @@
 copy svn-win32-%VER%\bin\intl.dll "%APACHEDIR%\bin"
 copy svn-win32-%VER%\bin\iconv.dll "%APACHEDIR%\bin"
 copy svn-win32-%VER%\bin\libdb42.dll "%APACHEDIR%\bin"
-copy httpd-2.0.49\srclib\apr-iconv\Release\iconv\*.so svn-win32-%VER%\iconv
+copy httpd-2.0.50\srclib\apr-iconv\Release\iconv\*.so svn-win32-%VER%\iconv
 
 rem ====== Configure Apache ready for doing tests.
 @echo off

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Aug 9 10:27:47 2004

This is an archived mail posted to the Subversion Dev mailing list.