1#
2# Check for ZLIB
3#
4AC_DEFUN([AX_CHECK_ZLIB],
5[
6AC_ARG_WITH([zlib],
7            AC_HELP_STRING([--with-zlib=PATH],
8                           [Use version of zlib in PATH]),
9            [with_zlib=$withval],
10            [with_zlib=''])
11have_zlib='no'
12LIB_ZLIB=''
13ZLIB_FLAGS=''
14ZLIB_HOME=''
15dnl PNG and TIFF require zlib so enable zlib check if PNG or TIFF is requested
16if test "x$with_zlib" != 'xno' || test "x$with_png" != 'xno' || test "x$with_tiff" != 'xno' ; then
17  AC_MSG_CHECKING(for ZLIB support )
18  AC_MSG_RESULT()
19  if test "x$with_zlib" != 'x' ; then
20    if test -d "$with_zlib" ; then
21      ZLIB_HOME="$with_zlib"
22    else
23      AC_MSG_WARN([Sorry, $with_zlib does not exist, checking usual places])
24      with_zlib=''
25    fi
26  fi
27  if test "x$ZLIB_HOME" = 'x' ; then
28    zlib_dirs="/usr /usr/local /opt /mingw /sw"
29    for i in $zlib_dirs;
30    do
31      if test -r "$i/include/zlib.h"; then
32        ZLIB_HOME="$i"
33        break
34      fi
35    done
36    if test "x$ZLIB_HOME" != 'x' ; then
37      AC_MSG_NOTICE([zlib home set to $ZLIB_HOME])
38    else
39      AC_MSG_NOTICE([cannot find the zlib directory, assuming it is specified in CFLAGS])
40    fi
41  fi
42  failed=0;
43  passed=0;
44  ZLIB_OLD_LDFLAGS=$LDFLAGS
45  ZLIB_OLD_CPPFLAGS=$CPPFLAGS
46  if test "x$ZLIB_HOME" != 'x' ; then
47    if test "x$HCPU" = 'xamd64' ; then
48      LDFLAGS="$LDFLAGS -L$ZLIB_HOME/lib64"
49    else
50      LDFLAGS="$LDFLAGS -L$ZLIB_HOME/lib"
51    fi
52    CPPFLAGS="$CPPFLAGS -I$ZLIB_HOME/include"
53  fi
54  AC_LANG_SAVE
55  AC_LANG_C
56  AC_CHECK_HEADER(zlib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
57  AC_CHECK_LIB(z,inflate,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
58  AC_LANG_RESTORE
59  LDFLAGS="$ZLIB_OLD_LDFLAGS"
60  CPPFLAGS="$ZLIB_OLD_CPPFLAGS"
61
62  AC_MSG_CHECKING(if ZLIB package is complete)
63  if test $passed -gt 0 ; then
64    if test $failed -gt 0 ; then
65      AC_MSG_RESULT(no -- some components failed test)
66      have_zlib='no (failed tests)'
67    else
68      if test "x$ZLIB_HOME" = 'x' || test "x$ZLIB_HOME" = 'x/usr' ; then
69        LIB_ZLIB="-lz"
70        ZLIB_FLAGS="-DHasZLIB"
71      else
72        if test "x$HCPU" = 'xamd64' ; then
73          LIB_ZLIB="-L$ZLIB_HOME/lib64 -lz"
74        else
75          LIB_ZLIB="-L$ZLIB_HOME/lib -lz"
76        fi
77        ZLIB_FLAGS="-I$ZLIB_HOME/include -DHasZLIB"
78      fi
79      AC_MSG_RESULT(yes)
80      have_zlib='yes'
81    fi
82  else
83    AC_MSG_RESULT(no)
84  fi
85fi
86AM_CONDITIONAL(HasZLIB, test "x$have_zlib" = 'xyes')
87AC_SUBST(LIB_ZLIB)
88AC_SUBST(ZLIB_FLAGS)
89])
90
91#
92# Check for PNG
93#
94AC_DEFUN([AX_CHECK_PNG],
95[
96AC_ARG_WITH([png],
97            AC_HELP_STRING([--with-png=PATH],
98                           [Use version of png in PATH]),
99            [with_png=$withval],
100            [with_png=''])
101have_png='no'
102LIB_PNG=''
103PNG_FLAGS=''
104PNG_HOME=''
105if test "x$with_png" != 'xno' ; then
106  AC_MSG_CHECKING(for PNG support )
107  AC_MSG_RESULT()
108  if test "x$with_png" != 'x' ; then
109    if test -d "$with_png" ; then
110      PNG_HOME="$with_png"
111    else
112      AC_MSG_WARN([Sorry, $with_png does not exist, checking usual places])
113      with_png=''
114    fi
115  fi
116  if test "x$PNG_HOME" = 'x' ; then
117    png_dirs="/usr /usr/local /opt /mingw /sw"
118    for i in $png_dirs;
119    do
120      if test -r "$i/include/png.h"; then
121        PNG_HOME="$i"
122        break
123      fi
124    done
125    if test "x$PNG_HOME" != 'x' ; then
126      AC_MSG_NOTICE([png home set to $PNG_HOME])
127    else
128      AC_MSG_NOTICE([cannot find the png directory, assuming it is specified in CFLAGS])
129    fi
130  fi
131  failed=0;
132  passed=0;
133  PNG_OLD_LDFLAGS=$LDFLAGS
134  PNG_OLD_CPPFLAGS=$CPPFLAGS
135  if test "x$PNG_HOME" != 'x' ; then
136    if test "x$HCPU" = 'xamd64' ; then
137      LDFLAGS="$LDFLAGS -L$PNG_HOME/lib64"
138    else
139      LDFLAGS="$LDFLAGS -L$PNG_HOME/lib"
140    fi
141    CPPFLAGS="$CPPFLAGS -I$PNG_HOME/include"
142  fi
143  AC_LANG_SAVE
144  AC_LANG_C
145  AC_CHECK_HEADER(png.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
146  AC_CHECK_LIB([png],[png_get_io_ptr],passed=`expr $passed + 1`,failed=`expr $failed + 1`,[-lz -lm])
147  AC_LANG_RESTORE
148  LDFLAGS="$PNG_OLD_LDFLAGS"
149  CPPFLAGS="$PNG_OLD_CPPFLAGS"
150
151  AC_MSG_CHECKING(if PNG package is complete)
152  if test $passed -gt 0 ; then
153    if test $failed -gt 0 ; then
154      AC_MSG_RESULT(no -- some components failed test)
155      have_png='no (failed tests)'
156    else
157      if test "x$PNG_HOME" = 'x' || test "x$PNG_HOME" = 'x/usr' ; then
158        LIB_PNG="-lpng"
159        PNG_FLAGS="-DHasPNG"
160      else
161        if test "x$HCPU" = 'xamd64' ; then
162          LIB_PNG="-L$PNG_HOME/lib64 -lpng"
163        else
164          LIB_PNG="-L$PNG_HOME/lib -lpng"
165        fi
166        PNG_FLAGS="-I$PNG_HOME/include -DHasPNG"
167      fi
168      AC_DEFINE(HasPNG,1,Define if you have PNG library)
169      AC_MSG_RESULT(yes)
170      have_png='yes'
171    fi
172  else
173    AC_MSG_RESULT(no)
174  fi
175fi
176AM_CONDITIONAL(HasPNG, test "x$have_png" = 'xyes')
177AC_SUBST(LIB_PNG)
178AC_SUBST(PNG_FLAGS)
179])
180
181#
182# Check for JPEG
183#
184AC_DEFUN([AX_CHECK_JPEG],
185[
186AC_ARG_WITH([jpeg],
187            AC_HELP_STRING([--with-jpeg=PATH],
188                           [Use version of jpeg in PATH]),
189            [with_jpeg=$withval],
190            [with_jpeg=''])
191have_jpeg='no'
192LIB_JPEG=''
193JPEG_FLAGS=''
194JPEG_HOME=''
195dnl TIFF requires jpeg so enable jpeg check if TIFF is requested
196if test "x$with_jpeg" != 'xno' || test "x$with_tiff" != 'xno'  ; then
197  AC_MSG_CHECKING(for JPEG support )
198  AC_MSG_RESULT()
199  if test "x$with_jpeg" != 'x' ; then
200    if test -d "$with_jpeg" ; then
201      JPEG_HOME="$with_jpeg"
202    else
203      AC_MSG_WARN([Sorry, $with_jpeg does not exist, checking usual places])
204      with_jpeg=''
205    fi
206  fi
207  if test "x$JPEG_HOME" = 'x' ; then
208    jpeg_dirs="/usr /usr/local /opt /mingw /sw"
209    for i in $jpeg_dirs;
210    do
211      if test -r "$i/include/jpeglib.h"; then
212        JPEG_HOME="$i"
213        break
214      fi
215    done
216    if test "x$JPEG_HOME" != 'x' ; then
217      AC_MSG_NOTICE([jpeg home set to $JPEG_HOME])
218    else
219      AC_MSG_NOTICE([cannot find the jpeg directory, assuming it is specified in CFLAGS])
220    fi
221  fi
222  failed=0;
223  passed=0;
224  JPEG_OLD_LDFLAGS=$LDFLAGS
225  JPEG_OLD_CPPFLAGS=$CPPFLAGS
226  if test "x$JPEG_HOME" != 'x' ; then
227    if test "x$HCPU" = 'xamd64' ; then
228      LDFLAGS="$LDFLAGS -L$JPEG_HOME/lib64"
229    else
230      LDFLAGS="$LDFLAGS -L$JPEG_HOME/lib"
231    fi
232    CPPFLAGS="$CPPFLAGS -I$JPEG_HOME/include"
233  fi
234  AC_LANG_SAVE
235  AC_LANG_C
236  AC_CHECK_HEADER(jpeglib.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
237  AC_CHECK_LIB(jpeg,jpeg_read_header,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
238
239# Test for compatible JPEG library
240  if test "x$ac_cv_jpeg_version_ok" != 'xyes' ; then
241    AC_CACHE_CHECK(for JPEG library is version 6b or later, ac_cv_jpeg_version_ok,
242    [AC_TRY_COMPILE(
243    #include <stdio.h>
244    #include <stdlib.h>
245    #include <jpeglib.h>
246    ,
247    changequote(<<, >>)dnl
248    <<
249    #if JPEG_LIB_VERSION < 62
250    #error IJG JPEG library must be version 6b or newer!
251    #endif
252    return 0;
253    >>,
254    changequote([, ])dnl
255    ac_cv_jpeg_version_ok='yes',
256    ac_cv_jpeg_version_ok='no')])
257    if test "x$ac_cv_jpeg_version_ok" = 'xyes' ; then
258      passed=`expr $passed + 1`
259    else
260      failed=`expr $failed + 1`
261    fi
262  fi
263  AC_LANG_RESTORE
264  LDFLAGS="$JPEG_OLD_LDFLAGS"
265  CPPFLAGS="$JPEG_OLD_CPPFLAGS"
266
267  AC_MSG_CHECKING(if JPEG package is complete)
268  if test $passed -gt 0 ; then
269    if test $failed -gt 0 ; then
270      AC_MSG_RESULT(no -- some components failed test)
271      have_jpeg='no (failed tests)'
272    else
273      if test "x$JPEG_HOME" = 'x' || test "x$JPEG_HOME" = 'x/usr' ; then
274        LIB_JPEG="-ljpeg"
275        JPEG_FLAGS="-DHasJPEG"
276      else
277        if test "x$HCPU" = 'xamd64' ; then
278          LIB_JPEG="-L$JPEG_HOME/lib64 -ljpeg"
279        else
280          LIB_JPEG="-L$JPEG_HOME/lib -ljpeg"
281        fi
282        JPEG_FLAGS="-I$JPEG_HOME/include -DHasJPEG"
283      fi
284      AC_DEFINE(HasJPEG,1,Define if you have JPEG library)
285      AC_MSG_RESULT(yes)
286      have_jpeg='yes'
287    fi
288  else
289    AC_MSG_RESULT(no)
290  fi
291fi
292AM_CONDITIONAL(HasJPEG, test "x$have_jpeg" = 'xyes')
293AC_SUBST(LIB_JPEG)
294AC_SUBST(JPEG_FLAGS)
295])
296
297#
298# Check for TIFF
299#
300AC_DEFUN([AX_CHECK_TIFF],
301[
302AC_ARG_WITH([tiff],
303            AC_HELP_STRING([--with-tiff=PATH],
304                           [Use version of TIFF in PATH]),
305            [with_tiff=$withval],
306			[with_tiff=''])
307have_tiff='no'
308LIB_TIFF=''
309TIFF_FLAGS=''
310TIFF_HOME=''
311if test "x$with_tiff" != 'xno' ; then
312  AC_MSG_CHECKING(for TIFF support )
313  AC_MSG_RESULT()
314  if test "x$with_tiff" != 'x' ; then
315    if test -d "$with_tiff" ; then
316      TIFF_HOME="$with_tiff"
317    else
318      AC_MSG_WARN([Sorry, $with_tiff does not exist, checking usual places])
319      with_tiff=''
320    fi
321  fi
322  if test "x$TIFF_HOME" = 'x' ; then
323    tiff_dirs="/usr /usr/local /opt /mingw /sw"
324    for i in $tiff_dirs;
325    do
326      if test -r "$i/include/tiff.h"; then
327        TIFF_HOME="$i"
328        break
329      fi
330    done
331    if test "x$TIFF_HOME" != 'x' ; then
332      AC_MSG_NOTICE([tiff home set to $TIFF_HOME])
333    else
334      AC_MSG_NOTICE([cannot find the tiff directory, assuming it is specified in CFLAGS])
335    fi
336  fi
337  failed=0;
338  passed=0;
339  TIFF_OLD_LDFLAGS=$LDFLAGS
340  TIFF_OLD_CPPFLAGS=$CPPFLAGS
341  if test "x$TIFF_HOME" != 'x' ; then
342    if test "x$HCPU" = 'xamd64' ; then
343      LDFLAGS="$LDFLAGS -L$TIFF_HOME/lib64"
344    else
345      LDFLAGS="$LDFLAGS -L$TIFF_HOME/lib"
346    fi
347    CPPFLAGS="$CPPFLAGS -I$TIFF_HOME/include"
348  fi
349  AC_LANG_SAVE
350  AC_LANG_C
351  AC_CHECK_HEADER(tiff.h,passed=`expr $passed + 1`,failed=`expr $failed + 1`,)
352  AC_CHECK_LIB(tiff,TIFFOpen,passed=`expr $passed + 1`,failed=`expr $failed + 1`,[-lz -ljpeg])
353  AC_LANG_RESTORE
354  LDFLAGS="$TIFF_OLD_LDFLAGS"
355  CPPFLAGS="$TIFF_OLD_CPPFLAGS"
356
357  AC_MSG_CHECKING(if TIFF package is complete)
358  if test $passed -gt 0 ; then
359    if test $failed -gt 0 ; then
360      AC_MSG_RESULT(no -- some components failed test)
361      have_tiff='no (failed tests)'
362    else
363      if test "x$TIFF_HOME" = 'x' || test "x$TIFF_HOME" = 'x/usr' ; then
364        LIB_TIFF="-ltiff"
365        TIFF_FLAGS="-DHasTIFF"
366      else
367        if test "x$HCPU" = 'xamd64' ; then
368          LIB_TIFF="-L$TIFF_HOME/lib64 -ltiff"
369        else
370          LIB_TIFF="-L$TIFF_HOME/lib -ltiff"
371        fi
372        TIFF_FLAGS="-I$TIFF_HOME/include -DHasTIFF"
373      fi
374      AC_DEFINE(HasTIFF,1,Define if you have TIFF library)
375      AC_MSG_RESULT(yes)
376      have_tiff='yes'
377    fi
378  else
379    AC_MSG_RESULT(no)
380  fi
381fi
382AM_CONDITIONAL(HasTIFF, test "x$have_tiff" = 'xyes')
383AC_SUBST(LIB_TIFF)
384AC_SUBST(TIFF_FLAGS)
385])
386