aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEli Zaretskii2013-12-23 20:32:58 +0200
committerEli Zaretskii2013-12-23 20:32:58 +0200
commit631357625658a08121b441d45da697f18780c85e (patch)
tree91dcf78ac7886f2da230668536291b035ab3780f
parent0db7548bea067f74998d8219d524220d8ff1269b (diff)
downloademacs-631357625658a08121b441d45da697f18780c85e.tar.gz
emacs-631357625658a08121b441d45da697f18780c85e.zip
Update MS-Windows installation instructions for librsvg.
-rw-r--r--nt/ChangeLog6
-rw-r--r--nt/INSTALL103
-rw-r--r--nt/README.W3253
3 files changed, 140 insertions, 22 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog
index 8c1e928036c..feaf2cd7833 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,9 @@
12013-12-23 Eli Zaretskii <eliz@gnu.org>
2
3 * README.W32:
4 * INSTALL: Update instructions for downloading and using image
5 libraries in general, and librsvg in particular.
6
12013-12-16 Eli Zaretskii <eliz@gnu.org> 72013-12-16 Eli Zaretskii <eliz@gnu.org>
2 8
3 * emacs-x64.manifest: 9 * emacs-x64.manifest:
diff --git a/nt/INSTALL b/nt/INSTALL
index 434327b66cc..0aca9b8980f 100644
--- a/nt/INSTALL
+++ b/nt/INSTALL
@@ -534,7 +534,11 @@ Windows 9X as well).
534 For PNG images, we recommend to use versions 1.4.x and later of 534 For PNG images, we recommend to use versions 1.4.x and later of
535 libpng, because previous versions had security issues. You can find 535 libpng, because previous versions had security issues. You can find
536 precompiled libraries and headers on the GTK download page for 536 precompiled libraries and headers on the GTK download page for
537 Windows (http://www.gtk.org/download/win32.php). 537 Windows (http://www.gtk.org/download/win32.php for 32-bit builds and
538 http://www.gtk.org/download/win64.php for 64-bit builds). The
539 ezwinports site, http://sourceforge.net/projects/ezwinports/files/
540 also offers PNG (as well as other image libraries), which are
541 usually newer.
538 542
539 Versions 1.4.0 and later of libpng are binary incompatible with 543 Versions 1.4.0 and later of libpng are binary incompatible with
540 earlier versions, so Emacs will only look for libpng libraries which 544 earlier versions, so Emacs will only look for libpng libraries which
@@ -563,11 +567,98 @@ Windows 9X as well).
563 libraries that are known to be compatible with the version given by 567 libraries that are known to be compatible with the version given by
564 `libgif-version'. 568 `libgif-version'.
565 569
566 Binaries for the other image libraries can be found at the GnuWin32 570 Pre-built versions of librsvg and its dependencies can be found in
567 project. Note specifically that, due to some packaging snafus in 571 one of these places:
568 the GnuWin32-supplied image libraries, you will need to download 572
569 _source_ packages for some of the libraries in order to get the 573 1. http://sourceforge.net/projects/ezwinports/files/
570 header files necessary for building Emacs with image support. 574
575 This site includes a minimal (as much as possible for librsvg)
576 build of the library and its dependencies; it is also more
577 up-to-date with the latest upstream versions. However, it
578 currently only offers 32-bit builds. For building Emacs, you
579 need to download from this site all of the following *-bin.zip
580 archives:
581
582 librsvg, gdk-pixbuf, cairo, glib
583
584 The 'bin' archives on this site include both header files and the
585 libraries needed for building with librsvg and for running Emacs.
586 The librsvg archive includes all the shared libraries needed to
587 run Emacs with SVG support; the other 3 packages are required
588 because the compiler needs to see their header files when
589 building Emacs.
590
591 2. GTK project download site for Windows (see above for 2 URLs,
592 either for 32-bit builds or 64-bit builds)
593
594 This is the official Windows download site of the GTK project.
595 Its builds of librsvg are fatter, but are currently the only
596 alternative for 64-bit builds. The easiest way to obtain the
597 dependencies required for building from this site is to download
598 a pre-bundled GTK+ development environment for Windows. If you
599 would nevertheless like to download only the packages that are
600 strictly required, then, as of the time of this writing, here's
601 the list of GTK+ packages you will need:
602
603 librsvg, pango, freetype-2.4.11, freetype-2.4.2, croco, cairo,
604 glib, gdk-pixbuf, fontconfig, libpng-1.4.x, libpng-1.5.x,
605 libffi, libxml2, zlib
606
607 The GTK download page provides 2 separate archives for each
608 package: a 'bin' (binary) archive with programs and DLLs, and a
609 'dev' (development) archive with header files, import libraries,
610 and pkg-config files; download and install both archives for each
611 package you need. (Sources of each package are available in a
612 separate, 3rd archive.)
613
614 As you see, some libraries for using this site's librsvg are
615 needed in more than one version -- this is because librsvg and
616 some of its dependencies were linked against different versions
617 of those libraries, and will look only for those DLLs when you
618 invoke SVG function. So there's a bit of "DLL hell" involved
619 here, but at least in theory this should work, as each library
620 will dynamically link only against its dependencies, even if
621 another version of the same library is already loaded. In
622 particular, at least 2 different versions of libpng will have to
623 be installed on your machine. When you install these libpng
624 versions, be sure to keep the header files and the pkg-config
625 files in sync, i.e. install both the 'bin' and 'dev' archives of
626 the same libpng version together.
627
628 To use librsvg at runtime, ensure that librsvg and its dependencies
629 are on your PATH, or in the same directory as the emacs.exe binary.
630 If you are downloading from the ezwinports site, you only need to
631 install a single archive, librsvg-X.Y.Z-w32-bin.zip, which includes
632 all the dependency DLLs. For the GTK project site, download the
633 'bin' archives for each of the libraries mentioned above.
634
635 If you think you've got all the dependencies and SVG support is
636 still not working, check your PATH for other libraries that shadow
637 the ones you downloaded. Libraries of the same name from different
638 sources may not be compatible, this problem was encountered in the
639 past, e.g., with libcroco from gnome.org.
640
641 If you can see etc/images/splash.svg, then you have managed to get
642 SVG support working. Congratulations for making it through DLL hell
643 to this point. For some SVG images, you'll probably see error
644 messages from Glib about failed assertions, or warnings from Pango
645 about failure to load fonts (installing the missing fonts should fix
646 the latter kind of problems). Problems have been observed in some
647 images that contain text, they seem to be a problem in the Windows
648 port of Pango, or maybe a problem with the way Cairo or librsvg is
649 using it that doesn't show up on other platforms. However, Emacs
650 should not crash due to these issues. If you eventually find the
651 SVG support too unstable to your taste, you can rebuild Emacs
652 without it by specifying the --without-rsvg switch to the configure
653 script.
654
655 Binaries for the other image libraries can be found on the
656 ezwinports site or at the GnuWin32 project (the latter are generally
657 very old, so not recommended). Note specifically that, due to some
658 packaging snafus in the GnuWin32-supplied image libraries, you will
659 need to download _source_ packages for some of the libraries in
660 order to get the header files necessary for building Emacs with
661 image support.
571 662
572* Optional GnuTLS support 663* Optional GnuTLS support
573 664
diff --git a/nt/README.W32 b/nt/README.W32
index 2b546428c6b..a397296b22b 100644
--- a/nt/README.W32
+++ b/nt/README.W32
@@ -20,12 +20,8 @@ See the end of the file for license conditions.
20 20
21* Preliminaries 21* Preliminaries
22 22
23 Along with this file should be five subdirectories (bin, etc, info, 23 Along with this file should be four subdirectories (bin, libexec,
24 lisp, site-lisp). If you have downloaded the barebin 24 share, and var).
25 distribution, then it will contain only the bin directory and the
26 built in documentation in etc/DOC, the rest of the subdirectories
27 are in the src distribution, which the barebin distribution is
28 designed to be used with.
29 25
30* Setting up Emacs 26* Setting up Emacs
31 27
@@ -99,15 +95,18 @@ See the end of the file for license conditions.
99 + addpm.exe - A basic installer that creates Start Menu icons for Emacs. 95 + addpm.exe - A basic installer that creates Start Menu icons for Emacs.
100 Running this is optional. 96 Running this is optional.
101 97
102 + cmdproxy.exe - Used internally by Emacs to work around problems with
103 the native shells in various versions of Windows.
104
105 + ctags.exe, etags.exe - Tools for generating tag files. See the 98 + ctags.exe, etags.exe - Tools for generating tag files. See the
106 `Tags' node of the Emacs manual. 99 `Tags' node of the Emacs manual.
107 100
108 + ebrowse.exe - A tool for generating C++ browse information. See the 101 + ebrowse.exe - A tool for generating C++ browse information. See the
109 `Ebrowse' manual. 102 `Ebrowse' manual.
110 103
104 Several helper programs are in a version-specific subdirectory of
105 the libexec directory:
106
107 + cmdproxy.exe - Used internally by Emacs to work around problems with
108 the native shells in various versions of Windows.
109
111 + ddeclient.exe - A tool for interacting with DDE servers. To be 110 + ddeclient.exe - A tool for interacting with DDE servers. To be
112 invoked as "ddeclient SERVER [TOPIC]", where SERVER is the DDE 111 invoked as "ddeclient SERVER [TOPIC]", where SERVER is the DDE
113 server name, and sends each line of its standard input to the DDE 112 server name, and sends each line of its standard input to the DDE
@@ -122,12 +121,27 @@ See the end of the file for license conditions.
122 a mail spool or POP server to a local user mailbox. See the 121 a mail spool or POP server to a local user mailbox. See the
123 `Movemail' node of the Emacs manual. 122 `Movemail' node of the Emacs manual.
124 123
124 + profile.exe - A helper program that generates periodic events for
125 profiling Emacs Lisp code.
126
127 + update-game-score.exe - A utility for updating the score files of
128 Emacs games.
129
125* Image support 130* Image support
126 131
127 Emacs has built in support for XBM and PPM/PGM/PBM images, and the 132 Emacs has built in support for XBM and PPM/PGM/PBM images, and the
128 libXpm library is bundled, providing XPM support (required for color 133 libraries. These libraries are all available on the following sites:
129 toolbar icons and splash screen). Source for libXpm should be available 134
130 on the same place as you got this binary distribution from. 135 1. http://sourceforge.net/projects/ezwinports/files/
136 -- leaner, more up-to-date builds, only for 32-bit Emacs
137 2. http://www.gtk.org/download/win32.php
138 http://www.gtk.org/download/win64.php
139 -- GTK project site; offers much fatter builds, but includes 64-bit
140 DLLs
141 3. GnuWin32 project -- very old builds, not recommended
142
143 Emacs will find these libraries if the directory they are installed
144 in is on the PATH.
131 145
132 Emacs can also support some other image formats with appropriate 146 Emacs can also support some other image formats with appropriate
133 libraries. These libraries are all available as part of GTK 147 libraries. These libraries are all available as part of GTK
@@ -136,7 +150,7 @@ See the end of the file for license conditions.
136 they are installed in is on the PATH. 150 they are installed in is on the PATH.
137 151
138 PNG: requires the PNG reference library 1.4 or later, which will 152 PNG: requires the PNG reference library 1.4 or later, which will
139 be named libpng14.dll or libpng14-14.dll. LibPNG requires zlib, 153 be named libpngNN.dll or libpngNN-NN.dll. LibPNG requires zlib,
140 which should come from the same source as you got libpng. 154 which should come from the same source as you got libpng.
141 Starting with Emacs 23.3, the precompiled Emacs binaries are 155 Starting with Emacs 23.3, the precompiled Emacs binaries are
142 built with libpng 1.4.x and later, and are incompatible with 156 built with libpng 1.4.x and later, and are incompatible with
@@ -151,7 +165,14 @@ See the end of the file for license conditions.
151 or libtiff.dll. 165 or libtiff.dll.
152 166
153 GIF: requires libungif or giflib 4.1 or later, which will be 167 GIF: requires libungif or giflib 4.1 or later, which will be
154 called giflib4.dll, libungif4.dll or libungif.dll. 168 called libgif-6.dll, giflib4.dll, libungif4.dll or libungif.dll.
169
170 SVG: requires librsvg 2.x whose DLL will be called
171 librsvg-2-2.dll. SVG also requires several dependency DLLs,
172 such as Pango, Cairo, and Glib, all of them found on the
173 above-mentioned sites. If you download from the ezwinports
174 site, you need only librsvg-2.nn.x-bin.zip, it comes with all
175 the other dependencies bundled.
155 176
156 If you have image support DLLs under different names, customize the 177 If you have image support DLLs under different names, customize the
157 value of `dynamic-library-alist'. 178 value of `dynamic-library-alist'.
@@ -168,8 +189,8 @@ See the end of the file for license conditions.
168 the relevant DLLs during startup; failure to do so is not an error, 189 the relevant DLLs during startup; failure to do so is not an error,
169 but GnuTLS won't be available to the running session. 190 but GnuTLS won't be available to the running session.
170 191
171 You can get pre-built binaries (including any required DLL and the 192 You can get pre-built binaries (including any dependency DLLs) at
172 header files) at http://sourceforge.net/projects/ezwinports/files/. 193 http://sourceforge.net/projects/ezwinports/files/.
173 194
174* libxml2 support 195* libxml2 support
175 196