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

[PATCH] Win32 build documentation - misc fixes

From: Jon Foster <jon_at_jon-foster.co.uk>
Date: 2004-08-29 17:08:39 CEST

Hi,

Assorted build documentation changes:

- Add AWK as a prerequisite. I'm not sure how to build Subversion
   on Windows without this - it's documented as a prerequisite by
   Apache - but I guess somehow people have managed. Perhaps the
   VC++ 6.0 APR build doesn't need it but VC.NET does? I suggest that
   saying "always download it" is much simpler than trying to figure
   out under what circumstances it's needed. Having it and not needing
   it doesn't hurt, but not having it and needing it causes a build
   failure. It's a tiny download.

- Add APR as a prerequsite for non-Apache builds. Bit of an omission
   this one!

- Add basic (i.e. sketchy but just enough to be usable) VS.NET build
   instructions. Note that these are valid now, but the build will
   fail without the patch I posted earlier (see that e-mail for details).

- Explain what we mean by "Visual Studio 7" - it was marketed as
   "Visual Studio.NET" and MS now call it "Visual Studio.NET 2002"
   (to distinguish it from "Visual Studio.NET 2004"). Don't you
   just love Microsoft's version naming conventions (or lack thereof)?

- Remove the hard-coded NASM path and use a variable.

Log message per HACKING:

Assorted build documentation cleanups, and documenting the VC.NET build.

    * build/win32/vc6-build.bat.in
      (AWKDIR, NASMDIR): New variables
      (PATH): Add AWKDIR and NASMDIR, remove hardcoded NASM path
      (Copy the binaries into a tree suitable for zipping): Reorder so
      the two apr-iconv copy commands are together

    * INSTALL
      (E.1 Prerequisites): Give the marketing names for Microsoft
      Visual Studio 7. Add Awk as it is needed for (at least) Apache
      and VS.NET APR-util builds. Add APR as a prerequisite for
      non-Apache builds.
      (E.3 Preparation): Add Awk, APR. Mention Perl must be on path.
      (E.4 Building the Binaries): Add AWK to path. Introduce NASMDIR
      rather than using hard-coded NASM path. Add basic VC.NET build
      instructions.

Kind regards,

Jon Foster

[Patch as attachment to prevent mangling by Mozilla Mail]

Index: src-trunk/build/win32/vc6-build.bat.in
===================================================================
--- src-trunk/build/win32/vc6-build.bat.in (revision 10754)
+++ src-trunk/build/win32/vc6-build.bat.in (working copy)
@@ -7,6 +7,8 @@
 set DIR=trunk
 set DRIVE=C
 set PYTHONDIR=C:\Python22
+set AWKDIR=C:\SVN\awk
+set NASMDIR=C:\SVN\nasm
 set SDKINC=C:\Program Files\Microsoft SDK\include
 set SDKLIB=C:\Program Files\Microsoft SDK\lib
 set APACHEDIR=C:\Program Files\Apache Group\Apache2
@@ -16,7 +18,7 @@
 rem ====== End of shell variables which need to be set.
 
 rem Set up path to include Python and BDB.
-PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%DRIVE%:\SVN\nasm;%PYTHONDIR%;%GETTEXTBIN%
+PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%NASMDIR%;%PYTHONDIR%;%AWKDIR%;%GETTEXTBIN%
 
 rem Set INCLUDE and LIB for the msdev builds.
 set INCLUDE=%SDKINC%;%INCLUDE%;%GETTEXTINC%
@@ -105,6 +107,7 @@
 copy openssl-0.9.7d\out32dll\ssleay32.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-iconv\Release\iconv\*.so svn-win32-%VER%\iconv
 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
@@ -119,7 +122,6 @@
 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.50\srclib\apr-iconv\Release\iconv\*.so svn-win32-%VER%\iconv
 
 rem ====== Configure Apache ready for doing tests.
 @echo off
Index: src-trunk/INSTALL
===================================================================
--- src-trunk/INSTALL (revision 10754)
+++ src-trunk/INSTALL (working copy)
@@ -559,7 +559,8 @@
   E.1 Prerequisites
 
       * Visual Studio 6 and service pack. It can be built with Visual Studio
- 7 but these instructions assumes VS6.
+ 7 (aka Visual Studio.NET aka Visual Studio.NET 2002) but these
+ instructions assumes VS6.
       * A recent Windows SDK, the one provided with Visual Studio 6 is
         too old. You only need the 'Core SDK'. You can get it from MSDN
         if you have it or from
@@ -568,6 +569,10 @@
       * Python 2.2 or higher, downloaded from http://www.python.org/ which is
         used to generate the project files.
       * Perl 5.8 or higher from http://www.activestate.com/
+ * Awk, from http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe
+ This is needed to compile Apache or APR. Note that this is the
+ actual awk program, not an installer - just rename it to awk.exe
+ and it is ready to use.
       * 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. Neon is included in the zip file
@@ -582,6 +587,11 @@
       * Apache 2 msi install file, also from
         http://httpd.apache.org/download.cgi (required for running the
         tests). Only needed for testing the server dso modules.
+ * Apache apr, apr-util, and apr-iconv libraries, version 0.9.5.
+ Included in both the Subversion ZIP file and the Apache 2 source
+ tarball. If you are building from a Subversion checkout and have
+ not downloaded Apache 2, then get these 3 libraries from
+ http://www.apache.org/dist/apr/
       * 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
@@ -661,7 +671,9 @@
         not be running."
 
       * Install Python and add it to your path
- * Install Perl
+ * Install Perl (it should add itself to the path)
+ * Copy AWK (awk95.exe) to awk.exe (e.g. SVN\awk\awk.exe) and add
+ the directory containing it (e.g. SVN\awk) to the path.
       * 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
@@ -684,6 +696,12 @@
 
       * Extract Apache source into SVN\http-2.0.50 if you wish to build the
         server dso modules.
+ * If you are building from a checkout of Subversion, and you are NOT
+ building Apache, then you will need the APR libraries. Extract
+Download
+ (The easiest way to do this is to copy the apr,
+ apr-util and apr-iconv directories from the srclib folder in the
+ Apache source ZIP file into the SVN\)
       * 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
@@ -712,13 +730,15 @@
     C:>set DIR=trunk
     C:>set DRIVE=C
     C:>set PYTHONDIR=C:\Python22
+ C:>set AWKDIR=C:\SVN\Awk
+ C:>set NASMDIR=C:\SVN\nasm
     C:>set SDKINC=C:\Program Files\Microsoft SDK\include
     C:>set SDKLIB=C:\Program Files\Microsoft SDK\lib
     C:>set GETTEXTINC=C:\SVN\gettext\include
     C:>set GETTEXTLIB=C:\SVN\gettext\lib
     C:>set GETTEXTBIN=C:\SVN\gettext\bin
- C:>PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%DRIVE%:\SVN\nasm;
- %PYTHONDIR%;%GETTEXTBIN%
+ C:>PATH=%PATH%;%DRIVE%:\SVN\src-%DIR%\db4-win32;%NASMDIR%;
+ %PYTHONDIR%;%AWKDIR%;%GETTEXTBIN%
     C:>set INCLUDE=%SDKINC%;%INCLUDE%;%GETTEXTINC%
     C:>set LIB=%SDKLIB%;%LIB%;%GETTEXTLIB%
 
@@ -771,9 +791,9 @@
         directories must be in the Tools/Options/Directories settings (if you
         followed the 'Register the SDK with Visual Studio 6' instructions
         above this has been done for you).
- * 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.
+ * If you are using Visual Studio .NET change -t dsw into -t vcproj on
+ the gen-make.py command. In this case you will also have to
+ distribute the C runtime dll with the binaries.
       * If the server dso modules are being built and tested Apache must not
         be running or the copy of the dso modules will fail.
 
@@ -792,6 +812,11 @@
     C:>msdev subversion_msvc.dsw /USEENV /MAKE "__ALL_TESTS__ - Win32 Release"
     C:>cd ..
 
+ Or, with Visual C++.NET:
+
+ C:>devenv subversion_vcnet.sln /USEENV /build "Debug" /project "__ALL_TESTS__"
+ C:>cd ..
+
     The binaries have now been built.
 
    E.5 Packaging the binaries

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sun Aug 29 17:08:52 2004

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.