[cairo-commit] [cairo-www] src/end_to_end_build_for_win32.mdwn

Carl Worth cworth at freedesktop.org
Mon Nov 2 16:57:33 PST 2009


 src/end_to_end_build_for_win32.mdwn |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

New commits:
commit a7d245d38152147fd53de7c3ac54796b1589d954
Author: travisgriggs <travisgriggs at web>
Date:   Mon Nov 2 16:57:33 2009 -0800

diff --git a/src/end_to_end_build_for_win32.mdwn b/src/end_to_end_build_for_win32.mdwn
index 9a7d5bf..f78ee76 100644
--- a/src/end_to_end_build_for_win32.mdwn
+++ b/src/end_to_end_build_for_win32.mdwn
@@ -13,7 +13,7 @@ Tools Needed:
 <li>msys</li>
 </ul>
 
-This recipe for building may seem tediuous, in that it uses command line interface to do things. It was a goal in this case, that it be scriptable, and require no user interaction. The first 3 stesp are exceptions.
+This recipe for building may seem tediuous, in that it uses command line interface to do things. It was a goal in this case, that it be script-able, and require no user interaction. The first 3 steps are exceptions. In many cases, you could do things just as simply/quickly using file explorer, or wordpad. I've pointed these out in <i>...or...</i> lines below some of the more obvious steps.
 
 ### Install MSYS
 
@@ -21,7 +21,7 @@ This recipe for building may seem tediuous, in that it uses command line interfa
 
 In the following examples, I've installed mine in c:\Program Files\msys.
 
-MSYS provides programs to do a very minimal unix system on your windows box. You do not need to install MING or the Mozilla Build Environment, if you don't want, tho both most likely will include msys, if you already have one of them installed. You can find msys on the sourceforge site here.
+MSYS provides programs to do a very minimal unix system on your windows box. You do not need to install MINGW or the Mozilla Build Environment.
 
 ### Install Dev Studio Express
 
@@ -64,6 +64,8 @@ Use curl to download FOUR tarballs: zlib, libpng, pixman, cairo. Adjust specific
        curl ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.40.tar.gz -o libpng.tgz
        curl http://www.cairographics.org/releases/pixman-0.16.2.tar.gz -o pixman.tgz
        curl http://www.cairographics.org/releases/cairo-1.8.8.tar.gz -o cairo.tgz
+       <i>...or use Firefox/IE to navigate to the various sites and download the links</i>
+
 
        tar -xzf zlib.tgz
        tar -xzf libpng.tgz
@@ -84,6 +86,7 @@ Zlib has a project (vcproj_ file, but only for old Visual C++ 6.0 versions. Our
        mkdir %ROOTDIR%\zlib\projects\visualc71
        cd %ROOTDIR%\zlib\projects\visualc71
        copy %ROOTDIR%\libpng\projects\visualc71\zlib.vcproj .
+       <i>...or use File Explorer to create the projects\visualc71 directory and drag a copy of libpng\projects\visualc71\zlib.vcproj there</i>
 
 Now we can upgrade it. This does whatever needs to happen so we can build it with our new and free version of Express.
 
@@ -93,14 +96,14 @@ This will produce a bunch of scary looking warning text. Some of it yellow. It's
 
 Our next problem is, that the project file, by default is configured to build with the /MD option, which means it will be dynamically linked to the Microsoft runtime. This will be a problem if it links to the current MS runtime library, because target deployment machines won't necessarily have that specific version. There is no real dependency on a particular version. So it's easier to compile that statically in. It doesn't make the library that much bigger.
 
-"Now patch the proj file to build MT (static) instead of MD (dynamic)"
-projFile := zlibDir / 'projects' / 'visualc71' / 'zlib.vcproj'.
-proj := projFile contentsOfEntireFile copyWithRegex: 'RuntimeLibrary="2"' matchesReplacedWith: 'RuntimeLibrary="0"'.
-projFile contentsOfEntireFile: proj.
+       sed s/RuntimeLibrary=.2./RuntimeLibrary=0/ > fixed.vcproj
+       move /Y fixed.vcproj zlib.vcproj
+       <i>...or open zlib.vcproj with Wordpad and use a search/replace to change all RuntimeLibrary="2" to RuntimeLibrary="0"</i>
+
 
 Finally build it
 
-        vcbuild zlib.vcproj "LIB Release"
+       vcbuild zlib.vcproj "LIB Release"
 
 ### Build libpng
 


More information about the cairo-commit mailing list