[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