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