aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Rumney2009-01-03 12:57:28 +0000
committerJason Rumney2009-01-03 12:57:28 +0000
commit8bc63b1a23250b4e32914d0476092d2f83153615 (patch)
treeed6ce45b6941cfeebeb650f9a5af095a5038c472
parent3ac09bb4f745b0d5a7505e145a1499d2a1c3c04c (diff)
downloademacs-8bc63b1a23250b4e32914d0476092d2f83153615.tar.gz
emacs-8bc63b1a23250b4e32914d0476092d2f83153615.zip
* configure.bat: New option --with-svg.
* INSTALL: Document experimental SVG support.
-rw-r--r--nt/ChangeLog6
-rw-r--r--nt/INSTALL58
-rwxr-xr-xnt/configure.bat31
3 files changed, 84 insertions, 11 deletions
diff --git a/nt/ChangeLog b/nt/ChangeLog
index bff999cc316..904cfd662c9 100644
--- a/nt/ChangeLog
+++ b/nt/ChangeLog
@@ -1,3 +1,9 @@
12009-01-03 Jason Rumney <jasonr@gnu.org>
2
3 * configure.bat: New option --with-svg.
4
5 * INSTALL: Document experimental SVG support.
6
12008-12-25 Jason Rumney <jasonr@gnu.org> 72008-12-25 Jason Rumney <jasonr@gnu.org>
2 8
3 * config.nt: (PTR): Remove. 9 * config.nt: (PTR): Remove.
diff --git a/nt/INSTALL b/nt/INSTALL
index 3157961cd59..81bb9fd52ce 100644
--- a/nt/INSTALL
+++ b/nt/INSTALL
@@ -256,17 +256,18 @@
256* Optional image library support 256* Optional image library support
257 257
258 In addition to its "native" image formats (pbm and xbm), Emacs can 258 In addition to its "native" image formats (pbm and xbm), Emacs can
259 handle other image types: xpm, tiff, gif, png and jpeg (postscript is 259 handle other image types: xpm, tiff, gif, png, jpeg and experimental
260 currently unsupported on Windows). To build Emacs with support for 260 support for svg (postscript is currently unsupported on Windows).
261 them, the corresponding headers must be in the include path when the 261 To build Emacs with support for them, the corresponding headers must
262 configure script is run. This can be setup using environment 262 be in the include path when the configure script is run. This can
263 variables, or by specifying --cflags -I... options on the command-line 263 be setup using environment variables, or by specifying --cflags
264 to configure.bat. The configure script will report whether it was 264 -I... options on the command-line to configure.bat. The configure
265 able to detect the headers. If the results of this testing appear to be 265 script will report whether it was able to detect the headers. If
266 incorrect, please look for details in the file config.log: it will show 266 the results of this testing appear to be incorrect, please look for
267 the failed test programs and compiler error messages that should explain 267 details in the file config.log: it will show the failed test
268 what is wrong. (Usually, any such failures happen because some headers 268 programs and compiler error messages that should explain what is
269 are missing due to bad packaging of the image support libraries.) 269 wrong. (Usually, any such failures happen because some headers are
270 missing due to bad packaging of the image support libraries.)
270 271
271 To use the external image support, the DLLs implementing the 272 To use the external image support, the DLLs implementing the
272 functionality must be found when Emacs first needs them, either on the 273 functionality must be found when Emacs first needs them, either on the
@@ -298,6 +299,41 @@
298 If GTK 2.0 is installed, addpm will arrange for its image libraries 299 If GTK 2.0 is installed, addpm will arrange for its image libraries
299 to be on the DLL search path for Emacs. 300 to be on the DLL search path for Emacs.
300 301
302* Experimental SVG support
303
304 SVG support is currently experimental, and not built by default.
305 Specify --with-svg and ensure you have all the dependencies in your
306 include path. Unless you have built a minimalist librsvg yourself
307 (untested), librsvg depends on a significant chunk of GTK+ to build,
308 plus a few Gnome libraries, libxml2, libbz2 and zlib at runtime. The
309 easiest way to obtain the dependencies required for building is to
310 download a pre-bundled GTK+ development environment for Windows.
311 GTK puts its header files all over the place, so you will need to
312 run pkgconfig to list the include path you will need (either passed
313 to configure.bat as --cflags options, or set in the environment).
314
315 To use librsvg at runtime, ensure that librsvg and its dependencies
316 are on your PATH. If you didn't build librsvg yourself, you will
317 need to check with where you downloaded it from for the
318 dependencies, as there are different build options. If it is a
319 short list, then it most likely only lists the immediate
320 dependencies of librsvg, but the dependencies themselves have
321 dependencies - so don't download individual libraries from GTK+,
322 download and install the whole thing. If you think you've got all
323 the dependencies and SVG support is still not working, check your
324 PATH for other libraries that shadow the ones you downloaded.
325 Libraries of the same name from different sources may not be
326 compatible, this problem was encountered with libbzip2 from GnuWin32
327 with libcroco from gnome.org.
328
329 If you can see etc/images/splash.svg, then you have managed to get
330 SVG support working. Congratulations for making it through DLL hell
331 to this point. You'll probably find that some SVG images crash
332 Emacs. Problems have been observed in some images that contain
333 text, they seem to be a problem in the Windows port of Pango, or
334 maybe a problem with the way Cairo or librsvg is using it that
335 doesn't show up on other platforms.
336
301* Building 337* Building
302 338
303 After running configure, simply run the appropriate `make' program for 339 After running configure, simply run the appropriate `make' program for
diff --git a/nt/configure.bat b/nt/configure.bat
index f99f0b284f4..37e3e4dff33 100755
--- a/nt/configure.bat
+++ b/nt/configure.bat
@@ -109,6 +109,7 @@ if "%1" == "--without-jpeg" goto withoutjpeg
109if "%1" == "--without-gif" goto withoutgif 109if "%1" == "--without-gif" goto withoutgif
110if "%1" == "--without-tiff" goto withouttiff 110if "%1" == "--without-tiff" goto withouttiff
111if "%1" == "--without-xpm" goto withoutxpm 111if "%1" == "--without-xpm" goto withoutxpm
112if "%1" == "--with-svg" goto withsvg
112if "%1" == "" goto checkutils 113if "%1" == "" goto checkutils
113:usage 114:usage
114echo Usage: configure [options] 115echo Usage: configure [options]
@@ -127,6 +128,7 @@ echo. --without-jpeg do not use JPEG library even if it is installed
127echo. --without-gif do not use GIF library even if it is installed 128echo. --without-gif do not use GIF library even if it is installed
128echo. --without-tiff do not use TIFF library even if it is installed 129echo. --without-tiff do not use TIFF library even if it is installed
129echo. --without-xpm do not use XPM library even if it is installed 130echo. --without-xpm do not use XPM library even if it is installed
131echo. --with-svg use the RSVG library (experimental)
130goto end 132goto end
131rem ---------------------------------------------------------------------- 133rem ----------------------------------------------------------------------
132:setprefix 134:setprefix
@@ -218,6 +220,11 @@ set HAVE_XPM=
218shift 220shift
219goto again 221goto again
220 222
223:withsvg
224shift
225set svgsupport=Y
226goto again
227
221rem ---------------------------------------------------------------------- 228rem ----------------------------------------------------------------------
222rem Check that necessary utilities (cp and rm) are present. 229rem Check that necessary utilities (cp and rm) are present.
223:checkutils 230:checkutils
@@ -482,6 +489,28 @@ echo ...XPM header available, building with XPM support.
482set HAVE_XPM=1 489set HAVE_XPM=1
483 490
484:xpmDone 491:xpmDone
492rm -f junk.c junk.obj
493
494if not (%svgsupport%) == (Y) goto :svgDone
495echo Checking for librsvg...
496echo #include "librsvg/rsvg.h" >junk.c
497echo main (){} >>junk.c
498rem -o option is ignored with cl, but allows result to be consistent.
499echo %COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >>config.log
500%COMPILER% %usercflags% %mingwflag% -c junk.c -o junk.obj >junk.out 2>>config.log
501if exist junk.obj goto haveSvg
502
503echo ...librsvg/rsvg.h or dependencies not found, building without SVG support.
504echo The failed program was: >>config.log
505type junk.c >>config.log
506set HAVE_RSVG=
507goto :svgDone
508
509:haveSvg
510echo ...librsvg header available, building with SVG support (EXPERIMENTAL).
511set HAVE_RSVG=1
512
513:svgDone
485rm -f junk.c junk.obj junk.err junk.out 514rm -f junk.c junk.obj junk.err junk.out
486 515
487rem ---------------------------------------------------------------------- 516rem ----------------------------------------------------------------------
@@ -522,6 +551,8 @@ if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp
522if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp 551if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp
523if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp 552if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp
524if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp 553if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp
554if "(%HAVE_RSVG%)" == "(1)" echo #define HAVE_RSVG 1 >>config.tmp
555
525echo /* End of settings from configure.bat. */ >>config.tmp 556echo /* End of settings from configure.bat. */ >>config.tmp
526 557
527Rem See if fc.exe returns a meaningful exit status. If it does, we 558Rem See if fc.exe returns a meaningful exit status. If it does, we