[cairo-commit] [cairo-www] src/end_to_end_build_for_win32.mdwn
Carl Worth
cworth at freedesktop.org
Mon Nov 2 11:26:29 PST 2009
src/end_to_end_build_for_win32.mdwn | 47 +++++++++++++++---------------------
1 file changed, 20 insertions(+), 27 deletions(-)
New commits:
commit adcbe697c028acc95eb37c912875f32d34d3403a
Author: travisgriggs <travisgriggs at web>
Date: Mon Nov 2 11:26:29 2009 -0800
diff --git a/src/end_to_end_build_for_win32.mdwn b/src/end_to_end_build_for_win32.mdwn
index 67ef4ad..5f0319c 100644
--- a/src/end_to_end_build_for_win32.mdwn
+++ b/src/end_to_end_build_for_win32.mdwn
@@ -1,4 +1,4 @@
-Goal: Build CairoGraphics dll as a single redistributable DLL. Use free tools that anyone can download. End up with a dll that doesn't need any other dlls, system or not.
+Goal: Build CairoGraphics dll as a single redistributable DLL. Use free tools that anyone can download. End up with a dll that doesn't need any other dlls, system or not. Be able to do the entire thing from a script if necessary, not requiring any interaction.
Original Author: Travis Griggs (travisgriggs at gmail.com)
@@ -10,47 +10,40 @@ Tools Needed:
<ul>
<li>Command line (e.g. cmd32.exe)</li>
<li>Dev Studio Express</li>
+<li>msys</li>
</ul>
-Work in progress/Draft
-
-### Initial Setup
-Designate a directory to work in. Clean it out and then we'll do all work in there with fresh copies.
+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.
+### Install MSYS
- export BuildDir=${HOME}/BuildCairo
- rm -rf ${BuildDir}
- mkdir ${BuildDir}
- cd ${BuildDir}
+Download and install 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 http://sourceforge.net/projects/mingw/files/. Scroll down to the MSYS Base System section, and grab the current release of that. In the following examples, I've installed mine in c:\Program Files\msys.
-### Download and untar tarballs
-Use curl to download FOUR tarballs: pkg-config, libpng, pixman, cairo. Adjust specific version paths as desired
-
-
- curl http://pkgconfig.freedesktop.org/releases/pkg-config-0.23.tar.gz -o pkgconfig.tgz
- 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
+### Install Dev Studio Express
+Download and install Microsoft Visual C++ Studio Express http://www.microsoft.com/exPress/download/. All you need is the C++ variant. I found that I could not use vcbuild to convert/upgrade projects until I had followed the steps here http://social.msdn.microsoft.com/forums/en-US/windowssdk/thread/c139643f-7e1a-4fa2-a466-e521667997fd. It may have been if I'd originally registered it, I wouldn't have had those problems?
- tar -xzf pkgconfig.tgz
- tar -xzf libpng.tgz
- tar -xzf pixman.tgz
- tar -xzf cairo.tgz
+### Install curl (optional)
+Download and install curl. You don't technically need this. You can download the links to your build directory interactively using your favorite web browser. If you're not interesting in scripting it up, doing that is probably lighter weight than installing curl, unless you've just been waiting for a reason to do so.
- mv pkg-config-* pkgconfig
- mv libpng-* libpng
- mv pixman-* pixman
- mv cairo-* cairo
+### Open a command shell
+Open cmd32.exe. We'll use a command shell from here on out. If you need to close this and start again, you'll need to reproduce any of the environment variable settings we setup in here.
+### Create/Clean/Set Build Directory
+Designate a directory to work in. Clean it out and then we'll do all work in there with fresh copies.
-Why the last 4 mv commands? The default directory names are things like pixman-0.1.16 (version numbers included in the name). Some of the packages have compile paths dependent on the simpler names. So we do all 4 of them to keep them simple and consistent.
+ set ROOTDIR=%USERPROFILE%\BuildCairo
+ rmdir /S /Q %ROOTDIR%
+ mkdir %ROOTDIR%
+ cd %ROOTDIR%
-### Setup environment variables for fat binary compilation
+### Download and untar tarballs
+Use curl to download FOUR tarballs: pkg-config, libpng, pixman, cairo. Adjust specific version paths as desired
+
### Build zlib
More information about the cairo-commit
mailing list