diff options
| author | Jason Rumney | 2009-01-03 12:57:28 +0000 |
|---|---|---|
| committer | Jason Rumney | 2009-01-03 12:57:28 +0000 |
| commit | 8bc63b1a23250b4e32914d0476092d2f83153615 (patch) | |
| tree | ed6ce45b6941cfeebeb650f9a5af095a5038c472 | |
| parent | 3ac09bb4f745b0d5a7505e145a1499d2a1c3c04c (diff) | |
| download | emacs-8bc63b1a23250b4e32914d0476092d2f83153615.tar.gz emacs-8bc63b1a23250b4e32914d0476092d2f83153615.zip | |
* configure.bat: New option --with-svg.
* INSTALL: Document experimental SVG support.
| -rw-r--r-- | nt/ChangeLog | 6 | ||||
| -rw-r--r-- | nt/INSTALL | 58 | ||||
| -rwxr-xr-x | nt/configure.bat | 31 |
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 @@ | |||
| 1 | 2009-01-03 Jason Rumney <jasonr@gnu.org> | ||
| 2 | |||
| 3 | * configure.bat: New option --with-svg. | ||
| 4 | |||
| 5 | * INSTALL: Document experimental SVG support. | ||
| 6 | |||
| 1 | 2008-12-25 Jason Rumney <jasonr@gnu.org> | 7 | 2008-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 | |||
| 109 | if "%1" == "--without-gif" goto withoutgif | 109 | if "%1" == "--without-gif" goto withoutgif |
| 110 | if "%1" == "--without-tiff" goto withouttiff | 110 | if "%1" == "--without-tiff" goto withouttiff |
| 111 | if "%1" == "--without-xpm" goto withoutxpm | 111 | if "%1" == "--without-xpm" goto withoutxpm |
| 112 | if "%1" == "--with-svg" goto withsvg | ||
| 112 | if "%1" == "" goto checkutils | 113 | if "%1" == "" goto checkutils |
| 113 | :usage | 114 | :usage |
| 114 | echo Usage: configure [options] | 115 | echo Usage: configure [options] |
| @@ -127,6 +128,7 @@ echo. --without-jpeg do not use JPEG library even if it is installed | |||
| 127 | echo. --without-gif do not use GIF library even if it is installed | 128 | echo. --without-gif do not use GIF library even if it is installed |
| 128 | echo. --without-tiff do not use TIFF library even if it is installed | 129 | echo. --without-tiff do not use TIFF library even if it is installed |
| 129 | echo. --without-xpm do not use XPM library even if it is installed | 130 | echo. --without-xpm do not use XPM library even if it is installed |
| 131 | echo. --with-svg use the RSVG library (experimental) | ||
| 130 | goto end | 132 | goto end |
| 131 | rem ---------------------------------------------------------------------- | 133 | rem ---------------------------------------------------------------------- |
| 132 | :setprefix | 134 | :setprefix |
| @@ -218,6 +220,11 @@ set HAVE_XPM= | |||
| 218 | shift | 220 | shift |
| 219 | goto again | 221 | goto again |
| 220 | 222 | ||
| 223 | :withsvg | ||
| 224 | shift | ||
| 225 | set svgsupport=Y | ||
| 226 | goto again | ||
| 227 | |||
| 221 | rem ---------------------------------------------------------------------- | 228 | rem ---------------------------------------------------------------------- |
| 222 | rem Check that necessary utilities (cp and rm) are present. | 229 | rem 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. | |||
| 482 | set HAVE_XPM=1 | 489 | set HAVE_XPM=1 |
| 483 | 490 | ||
| 484 | :xpmDone | 491 | :xpmDone |
| 492 | rm -f junk.c junk.obj | ||
| 493 | |||
| 494 | if not (%svgsupport%) == (Y) goto :svgDone | ||
| 495 | echo Checking for librsvg... | ||
| 496 | echo #include "librsvg/rsvg.h" >junk.c | ||
| 497 | echo main (){} >>junk.c | ||
| 498 | rem -o option is ignored with cl, but allows result to be consistent. | ||
| 499 | echo %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 | ||
| 501 | if exist junk.obj goto haveSvg | ||
| 502 | |||
| 503 | echo ...librsvg/rsvg.h or dependencies not found, building without SVG support. | ||
| 504 | echo The failed program was: >>config.log | ||
| 505 | type junk.c >>config.log | ||
| 506 | set HAVE_RSVG= | ||
| 507 | goto :svgDone | ||
| 508 | |||
| 509 | :haveSvg | ||
| 510 | echo ...librsvg header available, building with SVG support (EXPERIMENTAL). | ||
| 511 | set HAVE_RSVG=1 | ||
| 512 | |||
| 513 | :svgDone | ||
| 485 | rm -f junk.c junk.obj junk.err junk.out | 514 | rm -f junk.c junk.obj junk.err junk.out |
| 486 | 515 | ||
| 487 | rem ---------------------------------------------------------------------- | 516 | rem ---------------------------------------------------------------------- |
| @@ -522,6 +551,8 @@ if not "(%HAVE_JPEG%)" == "()" echo #define HAVE_JPEG 1 >>config.tmp | |||
| 522 | if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp | 551 | if not "(%HAVE_GIF%)" == "()" echo #define HAVE_GIF 1 >>config.tmp |
| 523 | if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp | 552 | if not "(%HAVE_TIFF%)" == "()" echo #define HAVE_TIFF 1 >>config.tmp |
| 524 | if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp | 553 | if not "(%HAVE_XPM%)" == "()" echo #define HAVE_XPM 1 >>config.tmp |
| 554 | if "(%HAVE_RSVG%)" == "(1)" echo #define HAVE_RSVG 1 >>config.tmp | ||
| 555 | |||
| 525 | echo /* End of settings from configure.bat. */ >>config.tmp | 556 | echo /* End of settings from configure.bat. */ >>config.tmp |
| 526 | 557 | ||
| 527 | Rem See if fc.exe returns a meaningful exit status. If it does, we | 558 | Rem See if fc.exe returns a meaningful exit status. If it does, we |