diff options
author | Behdad Esfahbod <behdad@behdad.org> | 2008-09-24 17:22:51 -0400 |
---|---|---|
committer | Behdad Esfahbod <behdad@behdad.org> | 2008-09-24 17:23:28 -0400 |
commit | ab682a6ff28ca89cc0dd8fd641a0bbc42487f613 (patch) | |
tree | a1d6a1d77ecdb6d392c6926fab774eda746eabd0 | |
parent | 5a06ca852c909f8225d7b6e7f29668b0ac79898f (diff) |
Add README.win32, courtesy of Damian Frank
-rw-r--r-- | AUTHORS | 1 | ||||
-rw-r--r-- | HACKING | 2 | ||||
-rw-r--r-- | Makefile.am | 1 | ||||
-rw-r--r-- | README.win32 | 71 |
4 files changed, 74 insertions, 1 deletions
@@ -23,6 +23,7 @@ Miklós Erdélyi <erdelyim@gmail.com> Fix typo leading to a crash Behdad Esfahbod <behdad@behdad.org> Huge piles of bug fixes, improvements, and general maintenance Brian Ewins <Brian.Ewins@gmail.com> ATSUI maintenance (first success at making it really work) Bertram Felgenhauer <int-e@gmx.de> Fixes for subtle arithmetic errors +Damian Frank <damian.frank@gmail.com> Build system improvements for win32 Bdale Garbee <bdale@gag.com> Provided essential support for cairo achitecture sessions Jens Granseuer <jensgr@gmx.net> Fixes to generate proper compiler flags Laxmi Harikumar <laxmi.harikumar@digital.com> Build fix @@ -90,7 +90,7 @@ regular "./configure; make; make install" sequence can be used. See file named INSTALL for more details. There is limited support for a win32 build system. -See Makefile.win32 files in various directories. +See README.win32 and Makefile.win32 files in various directories. ChangeLog diff --git a/Makefile.am b/Makefile.am index 95ffe80e..c36cfbbe 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,7 @@ include $(top_srcdir)/build/Makefile.am.common EXTRA_DIST += \ + README.win32 \ Makefile.win32 \ build/Makefile.win32.common \ build/Makefile.win32.features \ diff --git a/README.win32 b/README.win32 new file mode 100644 index 00000000..8507fdd1 --- /dev/null +++ b/README.win32 @@ -0,0 +1,71 @@ +Building Cairo on Windows +========================= + +There are two primary ways to build Cairo on Windows. You can use a +UN*X-like setup, such as Cygwin, with the conventional configure +script shipped with Cairo releases. In this configuration, you will +build with GCC and end up with (for instance) a Cygwin-dependent +library. In theory, this technique is no different than the ordinary +build process for the Cairo library. + +The second way is to use a GNU-compatible make, but build using +Microsoft's Visual C++ compiler to produce native libraries. This is +the setup this README is written for. + + +Tools required +============== + +You will need GNU make, version 3.80 or later. Earlier versions or +other modern make implementations may work, but are not guaranteed to. + +You will also need Microsoft Visual C++. Version 7 has been most +heavily tested, but other versions are likely to work fine. + + +Libraries required +================== + +Cairo requires a compatible version of the pixman library. Full build +instructions are beyond the scope of this document; however, using the +same tools, it should be possible to build pixman simply by entering +the pixman/src directory and typing: + + make -f Makefile.win32 CFG=release + + +Depending on your feature set, you may also need zlib and libpng. + + +Building +======== + +There are a few files that you will need to edit. First, you must +determine which features will be built. Edit +build/Makefile.win32.features and set the features as desired. Note +that most features have external dependencies; specifically, +CAIRO_HAS_PNG_FUNCTIONS requires libpng to be present, and +CAIRO_HAS_PS_SURFACE and CAIRO_HAS_PDF_SURFACE both require zlib. + +To ensure that the compiler can find all dependencies, you may need to +edit build/Makefile.win32.common. In particular, ensure that +PIXMAN_CFLAGS contains a -I parameter pointing to the location of +your pixman header files and that PIXMAN_LIBS points to the actual +location of your pixman-1.lib file. You may also need to edit the +various occurrences of CAIRO_LIBS to point to other libraries +correctly. Note also that if you wish to link statically with zlib, +you should replace zdll.lib with zlib.lib. + +Finally, from the top Cairo directory, type: + + make -f Makefile.win32 CFG=release + + +If this command succeeds, you will end up with src/release/cairo.dll. +To successfully use Cairo from your own programs, you will probably +want to move this file to some central location. You will also +probably want to copy the Cairo header files. These should be placed +in a cairo subdirectory (for instance, c:/code/common/include/cairo). +The exact set to copy depends on your features and is reported to you +at the end of the build. + |