add proper WEBP_HAVE_GIF and WEBP_HAVE_GL flags

...and make gif2webp and vwebp compile without them.

Makefile.vc still to be updated...
Meanwhile the CL environment variable can be supplemented with

set CL=/DWEBP_HAVE_GL /IC:\opt\freeglut\include

Change-Id: I37a60b8c32aafd125bffa98b6cc9f57c022ebbd0
This commit is contained in:
Pascal Massimino 2013-09-12 04:03:51 -07:00
parent d134307b7f
commit 79ff03460a
4 changed files with 34 additions and 3 deletions

View File

@ -187,6 +187,8 @@ if test "$glut_headers" = "yes"; then
glutMainLoop(); glutMainLoop();
]) ])
], ],
AC_DEFINE(WEBP_HAVE_GL, [1],
[Set to 1 if OpenGL is supported])
[glut_support=yes], [] [glut_support=yes], []
) )
if test "$glut_support" = "yes"; then if test "$glut_support" = "yes"; then
@ -296,6 +298,8 @@ LIBCHECK_PROLOGUE([GIF])
AC_CHECK_HEADER(gif_lib.h, AC_CHECK_HEADER(gif_lib.h,
AC_CHECK_LIB([gif], [DGifOpenFileHandle], AC_CHECK_LIB([gif], [DGifOpenFileHandle],
[GIF_LIBS="$GIF_LIBS -lgif" [GIF_LIBS="$GIF_LIBS -lgif"
AC_DEFINE(WEBP_HAVE_GIF, [1],
[Set to 1 if GIF library is installed])
gif_support=yes gif_support=yes
], ],
AC_MSG_WARN(Optional gif library not found), AC_MSG_WARN(Optional gif library not found),
@ -443,7 +447,8 @@ dwebp : yes
===================== =====================
PNG : ${png_support-no} PNG : ${png_support-no}
WIC : ${wic_support-no} WIC : ${wic_support-no}
gif2webp : ${build_gif2webp-no} GIF support : ${gif_support-no}
webpmux : ${enable_libwebpmux-no} gif2webp : ${build_gif2webp-no}
vwebp : ${build_vwebp-no} webpmux : ${enable_libwebpmux-no}
vwebp : ${build_vwebp-no}
]) ])

View File

@ -20,6 +20,8 @@
#include "config.h" #include "config.h"
#endif #endif
#ifdef WEBP_HAVE_GIF
#include <gif_lib.h> #include <gif_lib.h>
#include "webp/encode.h" #include "webp/encode.h"
#include "webp/mux.h" #include "webp/mux.h"
@ -636,4 +638,14 @@ int main(int argc, const char *argv[]) {
return !ok; return !ok;
} }
#else // !WEBP_HAVE_GIF
int main(int argc, const char *argv[]) {
fprintf(stderr, "GIF support not enabled in %s.\n", argv[0]);
(void)argc;
return 0;
}
#endif
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@ -18,6 +18,8 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#if defined(WEBP_HAVE_GL)
#if defined(HAVE_GLUT_GLUT_H) #if defined(HAVE_GLUT_GLUT_H)
#include <GLUT/glut.h> #include <GLUT/glut.h>
#else #else
@ -515,4 +517,14 @@ int main(int argc, char *argv[]) {
return -1; return -1;
} }
#else // !WEBP_HAVE_GL
int main(int argc, const char *argv[]) {
fprintf(stderr, "OpenGL support not enabled in %s.\n", argv[0]);
(void)argc;
return 0;
}
#endif
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@ -245,9 +245,11 @@ examples/dwebp: EXTRA_LIBS += $(DWEBP_LIBS)
examples/gif2webp: examples/libexample_util.a examples/libgif2webp_util.a examples/gif2webp: examples/libexample_util.a examples/libgif2webp_util.a
examples/gif2webp: src/mux/libwebpmux.a src/libwebp.a examples/gif2webp: src/mux/libwebpmux.a src/libwebp.a
examples/gif2webp: EXTRA_LIBS += $(GIF_LIBS) examples/gif2webp: EXTRA_LIBS += $(GIF_LIBS)
examples/gif2webp: EXTRA_FLAGS += -DWEBP_HAVE_GIF
examples/vwebp: examples/libexample_util.a src/demux/libwebpdemux.a examples/vwebp: examples/libexample_util.a src/demux/libwebpdemux.a
examples/vwebp: src/libwebp.a examples/vwebp: src/libwebp.a
examples/vwebp: EXTRA_LIBS += $(GL_LIBS) examples/vwebp: EXTRA_LIBS += $(GL_LIBS)
examples/vwebp: EXTRA_FLAGS += -DWEBP_HAVE_GL
examples/webpmux: examples/libexample_util.a src/mux/libwebpmux.a examples/webpmux: examples/libexample_util.a src/mux/libwebpmux.a
examples/webpmux: src/libwebpdecoder.a examples/webpmux: src/libwebpdecoder.a