[commit] r2355 - trunk/GME/Lib
GMESRC Repository Notifications
gme-commit at list.isis.vanderbilt.edu
Tue Sep 24 14:21:36 CDT 2013
Author: volgy
Date: Tue Sep 24 14:21:36 2013
New Revision: 2355
Log:
Added build instructions for the Subversion library (and its dependencies)
Added:
trunk/GME/Lib/SubversionBuildProcess.txt
Added: trunk/GME/Lib/SubversionBuildProcess.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/GME/Lib/SubversionBuildProcess.txt Tue Sep 24 14:21:36 2013 (r2355)
@@ -0,0 +1,197 @@
+---------- TOOLS ----------
+0) Install tool dependecies:
+ - AWK95 from http://www.cs.princeton.edu/~bwk/btl.mirror/awk95.exe (rename it to awk.exe and put it in the path)
+ - ActivePython 2.5 or higher from http://www.activestate.com/activepython/downloads
+ - ActivePerl 5.8 or higher from http://www.activestate.com/activeperl/downloads
+ - NASM from http://www.nasm.us/pub/nasm/releasebuilds/ (put it in the path)
+ - Install Visual Studio 2010
+
+---------- SOURCES ----------
+1) Download subversion source distribution from: http://subversion.apache.org/download/#recommended-release
+ Current version: subversion-1.8.3.zip
+
+ Extract it to a working folder (e.g. E:\subversion-src)
+
+2) Download apr, apr-util and apr-iconv from: http://apr.apache.org/download.cgi
+ Current versions: apr-1.4.8-win32-src.zip
+ apr-util-1.5.2-win32-src.zip
+ apr-iconv-1.2.1-win32-src-r2.zip
+
+ Extract them in the working folder WITHOUT version name (E:\subversion-src\apr and E:\subversion-src\apr-util and E:\subversion-src\apr-iconv)
+
+3) Download zlib from: http://www.zlib.net/
+ Current version: zlib128.zip
+
+ Extract it in the working folder WITHOUT version name (E:\subversion-src\zlib)
+
+4) Download openssl from: http://www.openssl.org/source/
+ Current version: openssl-1.0.1e.tar.gz
+
+ Extract it in the working folder WITHOUT version name (E:\subversion-src\openssl)
+
+5) Download serf from: https://code.google.com/p/serf/downloads/list
+ Current version: serf-1.2.1.zip
+ NOTE: serf from v1.3.0 uses SCons to build - not compatible with the current subversion make process
+
+ Extract it in the working folder WITHOUT version name (E:\subversion-src\serf)
+
+6) Download SQLite version 3.6.18 or above from: http://www.sqlite.org/download.html
+ Current version: sqlite-amalgamation-3080002.zip
+
+ Extract them in the working folder WITHOUT version name (E:\subversion-src\sqlite-amalgamation)
+
+---------- BUILDING ----------
+7) Compile OpenSSL in "Visual Studio Command Prompt"
+
+ cd E:\subversion-src\openssl
+ perl Configure VC-WIN32
+ call ms\do_nasm
+ nmake -f ms\ntdll.mak
+ cd out32dll
+ call ..\ms\test
+
+8) Compile apr and apr-util
+
+ Open and convert E:\subversion-src\apr-util\aprutil.dsw by Visual Studio 2010
+ Setup references between projects ("Add New Reference", Make sure "Link Library Dependecies" is ON)
+ libaprutil: libapr libaprapp libapriconv libapriconv_css_modules libapriconv_ces_modules xml
+ libapriconv: libapr
+ libapriconv_css_modules: libapriconv libapr
+ libapriconv_ces_modules: libapriconv libapr
+ Compile "libaprutil" in Debug mode
+ Compile "libaprutil" in Release mode
+
+ NOTE: This should be the following required projects: libapr, libaprutil, libapriconv, libapriconv_ccs_modules, libapriconv_ces_modules, xml
+
+9) Patch the zlib build process (proper debug pdb and msvcr dependecies)
+
+--- build\win32\vcnet-vcproj\build_zlib_ORIG.bat 2013-09-24 12:56:44.719205100 -0500
++++ build\win32\vcnet-vcproj\build_zlib.bat 2013-09-24 13:38:05.429251300 -0500
+@@ -44,13 +44,15 @@
+ @rem **************************************************************************
+ :release
+ set STATICLIB=zlibstat.lib
++set STATICPDB=zlibstat
+ set CC_OPTS=/MD /O2 /Zi
+ goto checkplatform
+
+ @rem **************************************************************************
+ :debug
+ set STATICLIB=zlibstatD.lib
+-set CC_OPTS=/MDd /Gm /ZI /Od /GZ /D_DEBUG
++set STATICPDB=zlibstatD
++set CC_OPTS=/MDd /Gm /ZI /Od /RTC1 /D_DEBUG
+ goto checkplatform
+
+ @rem **************************************************************************
+@@ -67,8 +69,8 @@
+
+ set BUILD_OPTS=%ASM_OPTS%
+
+- at echo nmake /f win32\Makefile.msc %BUILD_OPTS% STATICLIB=%STATICLIB% %target%
+-nmake /nologo /f win32\Makefile.msc %BUILD_OPTS% STATICLIB=%STATICLIB% %target%
++ at echo nmake /f win32\Makefile.msc %BUILD_OPTS% STATICLIB=%STATICLIB% STATICPDB=%STATICPDB% CC_OPTS="%COMMON_CC_OPTS% %CC_OPTS%" %target%
++nmake /nologo /f win32\Makefile.msc %BUILD_OPTS% STATICLIB=%STATICLIB% STATICPDB=%STATICPDB% CC_OPTS="%COMMON_CC_OPTS% %CC_OPTS%" %target%
+ if errorlevel 1 goto err
+ goto end
+
+
+--- zlib\win32\Makefile_ORIG.msc 2013-04-13 17:54:56.000000000 -0500
++++ zlib\win32\Makefile.msc 2013-09-24 13:15:39.780699900 -0500
+@@ -18,6 +18,7 @@
+
+ # variables
+ STATICLIB = zlib.lib
++STATICPDB = zlib
+ SHAREDLIB = zlib1.dll
+ IMPLIB = zdll.lib
+
+@@ -26,7 +27,7 @@
+ LD = link
+ AR = lib
+ RC = rc
+-CFLAGS = -nologo -MD -W3 -O2 -Oy- -Zi -Fd"zlib" $(LOC)
++CFLAGS = $(CC_OPTS) -Fd"$(STATICPDB)" $(LOC)
+ WFLAGS = -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE
+ ASFLAGS = -coff -Zi $(LOC)
+ LDFLAGS = -nologo -debug -incremental:no -opt:ref
+
+
+10) Compile Subversion (also compiles zlib, serf, sqlite)
+
+ cd E:\subversion-src
+ python gen-make.py -t vcproj --vsnet-version=2010 --with-openssl=openssl --with-zlib=zlib --with-serf=serf --with-sqlite=sqlite-amalgamation
+ Open E:\subversion-src\subversion_vcnet.sln in Visual Studio 2010
+ Compile "__ALL_TESTS__" in Debug mode
+ IMPORTANT: clean zlib project (only) before the next step
+ There is a bug in VS2010 where the environment is not set properly for NMake clean commands. Add the following line to the begining of build\win32\vcnet-vcproj\build_zlib.bat:
+ call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86
+
+ Compile "__ALL_TESTS__" in Release mode
+
+---------- DEPLOYING ----------
+
+11) Collect/copy the following include files to 'GMESRC\GME\Include'
+
+ subversion-src\apr\include\* -> GMESRC\GME\Include\apr\*
+ subversion-src\apr-iconv\include\* -> GMESRC\GME\Include\apr-iconv\*
+ subversion-src\apr-util\include\* -> GMESRC\GME\Include\apr-util\*
+ subversion-src\subversion\include\* -> GMESRC\GME\Include\subversion\*
+
+12) Collect/copy the following RELEASE only libraries (dll/lib) files to 'GMESRC\GME\Lib'
+
+ subversion-src\openssl\out32dll\libeay32.lib -> GMESRC\GME\Lib
+ subversion-src\openssl\out32dll\ssleay32.lib -> GMESRC\GME\Lib
+ subversion-src\openssl\out32dll\libeay32.dll -> GMESRC\GME\Lib
+ subversion-src\openssl\out32dll\ssleay32.dll -> GMESRC\GME\Lib
+
+ subversion-src\apr\Release\libapr-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\apr\Release\libapr-1.dll -> GMESRC\GME\Lib\subv_release
+ subversion-src\apr\Release\libapr-1.pdb -> GMESRC\GME\Lib\subv_release
+
+ subversion-src\apr-iconv\Release\libapriconv-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\apr-iconv\Release\libapriconv-1.dll -> GMESRC\GME\Lib\subv_release
+ subversion-src\apr-iconv\Release\libapriconv-1.pdb -> GMESRC\GME\Lib\subv_release
+
+ subversion-src\apr-util\Release\libaprutil-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\apr-util\Release\libaprutil-1.dll -> GMESRC\GME\Lib\subv_release
+ subversion-src\apr-util\Release\libaprutil-1.pdb -> GMESRC\GME\Lib\subv_release
+
+ subversion-src\apr-util\xml\expat\lib\LibR\xml.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\apr-util\xml\expat\lib\LibR\xml.pdb -> GMESRC\GME\Lib\subv_release
+
+ subversion-src\zlib\zlibstat.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\zlib\zlibstat.pdb -> GMESRC\GME\Lib\subv_release
+
+ subversion-src\serf\Release\serf-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\serf\Release\serf-1.pdb -> GMESRC\GME\Lib\subv_release
+
+ subversion-src\Release\subversion\libsvn_client\svn_client-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_client\svn_client-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_delta\svn_delta-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_delta\svn_delta-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_diff\svn_diff-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_diff\svn_diff-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_fs\svn_fs-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_fs\svn_fs-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_fs_fs\libsvn_fs_fs-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_fs_fs\libsvn_fs_fs-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_fs_util\libsvn_fs_util-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_fs_util\libsvn_fs_util-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra\svn_ra-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra\svn_ra-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra_local\libsvn_ra_local-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra_local\libsvn_ra_local-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra_serf\libsvn_ra_serf-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra_serf\libsvn_ra_serf-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra_svn\libsvn_ra_svn-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_ra_svn\libsvn_ra_svn-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_repos\svn_repos-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_repos\svn_repos-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_subr\svn_subr-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_subr\svn_subr-1.pdb -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_wc\svn_wc-1.lib -> GMESRC\GME\Lib\subv_release
+ subversion-src\Release\subversion\libsvn_wc\svn_wc-1.pdb -> GMESRC\GME\Lib\subv_release
+
+13) Collect/copy the DEBUG library (dll/lib/pdb) files to 'GMESRC\GME\Lib' by replacing 'LibR', 'zlibstat.lib', 'Release' and 'subv_release'
+ to 'LibD', 'zlibstatD.lib, 'Debug' and 'subv_debug' respectively from the previous step.
More information about the gme-commit
mailing list