diff options
| author | Claudio Bley | 2013-11-01 10:52:22 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2013-11-01 10:52:22 +0200 |
| commit | d14c81eec79c626f017e015c7ecf24d7662504bc (patch) | |
| tree | d1d11da65e91b55be23b665b5b601bee5dfc5b15 | |
| parent | 983d0df5e186d445d2b1936536363e9343fd0c60 (diff) | |
| download | emacs-d14c81eec79c626f017e015c7ecf24d7662504bc.tar.gz emacs-d14c81eec79c626f017e015c7ecf24d7662504bc.zip | |
Support newer versions of libjpeg on MS-Windows.
src/image.c (Qlibjpeg_version): New variable.
(syms_of_image): DEFSYM and initialize it.
lisp/term/w32-win.el (dynamic-library-alist): Support newer versions
of libjpeg starting with v7: look only for the DLL from the
version against which Emacs was built.
| -rw-r--r-- | lisp/ChangeLog | 6 | ||||
| -rw-r--r-- | lisp/term/w32-win.el | 11 | ||||
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/image.c | 19 |
4 files changed, 35 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index e99950276d8..eecc10efbb9 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2013-11-01 Claudio Bley <claudio.bley@googlemail.com> | ||
| 2 | |||
| 3 | * term/w32-win.el (dynamic-library-alist): Support newer versions | ||
| 4 | of libjpeg starting with v7: look only for the DLL from the | ||
| 5 | version against which Emacs was built. | ||
| 6 | |||
| 1 | 2013-11-01 Bozhidar Batsov <bozhidar@batsov.com> | 7 | 2013-11-01 Bozhidar Batsov <bozhidar@batsov.com> |
| 2 | 8 | ||
| 3 | * progmodes/ruby-mode.el (ruby-indent-tabs-mode) | 9 | * progmodes/ruby-mode.el (ruby-indent-tabs-mode) |
diff --git a/lisp/term/w32-win.el b/lisp/term/w32-win.el index 9690a5a7d75..bf5f1b6435c 100644 --- a/lisp/term/w32-win.el +++ b/lisp/term/w32-win.el | |||
| @@ -221,8 +221,17 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.") | |||
| 221 | '(png "libpng12d.dll" "libpng12.dll" "libpng3.dll" "libpng.dll" | 221 | '(png "libpng12d.dll" "libpng12.dll" "libpng3.dll" "libpng.dll" |
| 222 | ;; these are libpng 1.2.8 from GTK+ | 222 | ;; these are libpng 1.2.8 from GTK+ |
| 223 | "libpng13d.dll" "libpng13.dll")) | 223 | "libpng13d.dll" "libpng13.dll")) |
| 224 | '(jpeg "jpeg62.dll" "libjpeg.dll" "jpeg-62.dll" "jpeg.dll") | ||
| 225 | '(tiff "libtiff3.dll" "libtiff.dll") | 224 | '(tiff "libtiff3.dll" "libtiff.dll") |
| 225 | (if (> libjpeg-version 62) | ||
| 226 | ;; Versions of libjpeg after 6b are incompatible with | ||
| 227 | ;; earlier versions, and each of versions 7, 8, and 9 is | ||
| 228 | ;; also incompatible with the preceding ones (the core data | ||
| 229 | ;; structures used for communications with the library | ||
| 230 | ;; gained additional members with each new version). So we | ||
| 231 | ;; must use only the version of the library which Emacs was | ||
| 232 | ;; compiled against. | ||
| 233 | (list 'jpeg (format "libjpeg-%d.dll" (/ libjpeg-version 10))) | ||
| 234 | '(jpeg "jpeg62.dll" "libjpeg.dll" "jpeg-62.dll" "jpeg.dll")) | ||
| 226 | ;; Versions of giflib 5.0.0 and later changed signatures of | 235 | ;; Versions of giflib 5.0.0 and later changed signatures of |
| 227 | ;; several functions used by Emacs, which makes those versions | 236 | ;; several functions used by Emacs, which makes those versions |
| 228 | ;; incompatible with previous ones. We select the correct | 237 | ;; incompatible with previous ones. We select the correct |
diff --git a/src/ChangeLog b/src/ChangeLog index 0c76b176a1f..0d58733f4bf 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2013-11-01 Claudio Bley <claudio.bley@googlemail.com> | ||
| 2 | |||
| 3 | * image.c (Qlibjpeg_version): New variable. | ||
| 4 | (syms_of_image): DEFSYM and initialize it. | ||
| 5 | |||
| 1 | 2013-10-31 Jan Djärv <jan.h.d@swipnet.se> | 6 | 2013-10-31 Jan Djärv <jan.h.d@swipnet.se> |
| 2 | 7 | ||
| 3 | * emacs.c (main): Skip -psn args on OSX even if ! isatty (0). | 8 | * emacs.c (main): Skip -psn args on OSX even if ! isatty (0). |
diff --git a/src/image.c b/src/image.c index 6691cfc8a10..fca1bb077f6 100644 --- a/src/image.c +++ b/src/image.c | |||
| @@ -87,11 +87,12 @@ typedef struct w32_bitmap_record Bitmap_Record; | |||
| 87 | #define x_defined_color w32_defined_color | 87 | #define x_defined_color w32_defined_color |
| 88 | #define DefaultDepthOfScreen(screen) (one_w32_display_info.n_cbits) | 88 | #define DefaultDepthOfScreen(screen) (one_w32_display_info.n_cbits) |
| 89 | 89 | ||
| 90 | /* Versions of libpng and libgif that we were compiled with, or -1 if | 90 | /* Versions of libpng, libgif, and libjpeg that we were compiled with, |
| 91 | no PNG/GIF support was compiled in. This is tested by w32-win.el | 91 | or -1 if no PNG/GIF support was compiled in. This is tested by |
| 92 | to correctly set up the alist used to search for the respective | 92 | w32-win.el to correctly set up the alist used to search for the |
| 93 | image libraries. */ | 93 | respective image libraries. */ |
| 94 | Lisp_Object Qlibpng_version, Qlibgif_version; | 94 | Lisp_Object Qlibpng_version, Qlibgif_version, Qlibjpeg_version; |
| 95 | |||
| 95 | #endif /* HAVE_NTGUI */ | 96 | #endif /* HAVE_NTGUI */ |
| 96 | 97 | ||
| 97 | #ifdef HAVE_NS | 98 | #ifdef HAVE_NS |
| @@ -9411,6 +9412,14 @@ non-numeric, there is no explicit limit on the size of images. */); | |||
| 9411 | #else | 9412 | #else |
| 9412 | make_number (-1) | 9413 | make_number (-1) |
| 9413 | #endif | 9414 | #endif |
| 9415 | ); | ||
| 9416 | DEFSYM (Qlibjpeg_version, "libjpeg-version"); | ||
| 9417 | Fset (Qlibjpeg_version, | ||
| 9418 | #if HAVE_JPEG | ||
| 9419 | make_number (JPEG_LIB_VERSION) | ||
| 9420 | #else | ||
| 9421 | make_number (-1) | ||
| 9422 | #endif | ||
| 9414 | ); | 9423 | ); |
| 9415 | #endif | 9424 | #endif |
| 9416 | 9425 | ||