1dnl
2dnl AVCodec
3dnl
4
5AC_DEFUN([GMERLIN_CHECK_AVCODEC],[
6
7AH_TEMPLATE([HAVE_LIBAVCODEC],
8            [Do we have libavcodec installed?])
9
10have_avcodec=false
11
12AVCODEC_BUILD="3412992"
13
14AC_ARG_ENABLE(libavcodec,
15[AC_HELP_STRING([--disable-libavcodec],[Disable libavcodec (default: autodetect)])],
16[case "${enableval}" in
17   yes) test_avcodec=true ;;
18   no)  test_avcodec=false ;;
19esac],[test_avcodec=true])
20
21
22if test x$test_avcodec = xtrue; then
23ACL_PATH_AVCODEC($AVCODEC_BUILD , have_avcodec="true", have_avcodec="false")
24AVCODEC_REQUIRED=$AVCODEC_VERSION
25
26fi
27
28AM_CONDITIONAL(HAVE_LIBAVCODEC, test x$have_avcodec = xtrue)
29
30AC_SUBST(AVCODEC_REQUIRED)
31AC_SUBST(AVCODEC_LIBS)
32AC_SUBST(AVCODEC_CFLAGS)
33
34if test "x$have_avcodec" = "xtrue"; then
35AC_DEFINE([HAVE_LIBAVCODEC])
36fi
37
38])
39
40dnl
41dnl Avformat
42dnl
43
44AC_DEFUN([GMERLIN_CHECK_AVFORMAT],[
45
46AH_TEMPLATE([HAVE_LIBAVFORMAT], [Do we have libavformat installed?])
47AH_TEMPLATE([AVFORMAT_HEADER], [libavformat header])
48
49have_avformat=false
50
51AVFORMAT_BUILD="3415808"
52
53AC_ARG_ENABLE(libavformat,
54[AC_HELP_STRING([--disable-libavformat],[Disable libavformat (default: autodetect)])],
55[case "${enableval}" in
56   yes) test_avformat=true ;;
57   no)  test_avformat=false ;;
58esac],[test_avformat=true])
59
60if test x$test_avformat = xtrue; then
61
62ACL_PATH_AVFORMAT($AVFORMAT_BUILD , have_avformat="true", have_avformat="false")
63AVFORMAT_REQUIRED=$AVFORMAT_VERSION
64
65fi
66
67AM_CONDITIONAL(HAVE_LIBAVFORMAT, test x$have_avformat = xtrue)
68
69AC_SUBST(AVFORMAT_REQUIRED)
70AC_SUBST(AVFORMAT_LIBS)
71AC_SUBST(AVFORMAT_CFLAGS)
72
73if test "x$have_avformat" = "xtrue"; then
74AC_DEFINE([HAVE_LIBAVFORMAT])
75AC_DEFINE_UNQUOTED(AVFORMAT_HEADER, $AVFORMAT_HEADER)
76fi
77
78])
79
80
81dnl
82dnl libpostproc
83dnl
84
85AC_DEFUN([GMERLIN_CHECK_LIBPOSTPROC],[
86
87AH_TEMPLATE([HAVE_LIBPOSTPROC],
88            [Do we have libpostproc installed?])
89AH_TEMPLATE([POSTPROC_HEADER], [libpostproc header])
90
91have_libpostproc=false
92
93LIBPOSTPROC_REQUIRED="51.0.0"
94
95AC_ARG_ENABLE(libpostproc,
96[AC_HELP_STRING([--disable-libpostproc],[Disable libpostproc (default: autodetect)])],
97[case "${enableval}" in
98   yes) test_libpostproc=true ;;
99   no)  test_libpostproc=false ;;
100esac],[test_libpostproc=true])
101
102if test x$test_libpostproc = xtrue; then
103
104PKG_CHECK_MODULES(LIBPOSTPROC, libpostproc >= $LIBPOSTPROC_REQUIRED,
105                  have_libpostproc="true", have_libpostproc="false")
106fi
107
108if test x$have_libpostproc = xtrue; then
109
110CFLAGS_save=$CFLAGS
111CFLAGS="$CFLAGS $GMERLIN_DEP_CFLAGS $LIBPOSTPROC_CFLAGS"
112found_header="false"
113
114AC_TRY_COMPILE([
115#include <inttypes.h>
116#include <libpostproc/postprocess.h>],[], [found_header="true";POSTPROC_HEADER="<libpostproc/postprocess.h>" ],)
117
118
119if test $found_header = "false"; then
120AC_TRY_COMPILE([
121#include <inttypes.h>
122#include <postproc/postprocess.h>],[], [found_header="true";POSTPROC_HEADER="<postproc/postprocess.h>" ],)
123fi
124
125if test $found_header = "false"; then
126AC_TRY_COMPILE([
127#include <inttypes.h>
128#include <postprocess.h>],[],[found_header="true";POSTPROC_HEADER="<postprocess.h>"])
129fi
130
131if test $found_header = "false"; then
132have_libpostproc=false
133else
134CFLAGS="-DPOSTPROC_HEADER=$POSTPROC_HEADER $CFLAGS"
135AC_CHECK_TYPES([pp_context_t, pp_context, pp_mode_t, pp_mode], [], [], [[
136#ifdef POSTPROC_HEADER
137#include POSTPROC_HEADER
138#endif
139]])
140fi
141
142CFLAGS="$CFLAGS_save"
143
144fi
145
146AC_SUBST(LIBPOSTPROC_REQUIRED)
147AC_SUBST(LIBPOSTPROC_LIBS)
148AC_SUBST(LIBPOSTPROC_CFLAGS)
149
150AM_CONDITIONAL(HAVE_LIBPOSTPROC, test x$have_libpostproc = xtrue)
151
152if test "x$have_libpostproc" = "xtrue"; then
153AC_DEFINE([HAVE_LIBPOSTPROC])
154AC_DEFINE_UNQUOTED(POSTPROC_HEADER, $POSTPROC_HEADER)
155fi
156
157])
158
159dnl
160dnl libswscale
161dnl
162
163AC_DEFUN([GMERLIN_CHECK_LIBSWSCALE],[
164
165AH_TEMPLATE([HAVE_LIBSWSCALE],
166            [Do we have libswscale installed?])
167AH_TEMPLATE([SWSCALE_HEADER], [libswscale header])
168
169have_libswscale=false
170
171LIBSWSCALE_REQUIRED="0.5.0"
172
173AC_ARG_ENABLE(libswscale,
174[AC_HELP_STRING([--disable-libswscale],[Disable libswscale (default: autodetect)])],
175[case "${enableval}" in
176   yes) test_libswscale=true ;;
177   no)  test_libswscale=false ;;
178esac],[test_libswscale=true])
179
180if test x$test_libswscale = xtrue; then
181
182PKG_CHECK_MODULES(LIBSWSCALE, libswscale >= $LIBSWSCALE_REQUIRED,
183                  have_libswscale="true", have_libswscale="false")
184fi
185
186if test x$have_libswscale = xtrue; then
187
188CFLAGS_save=$CFLAGS
189CFLAGS="$CFLAGS $GMERLIN_DEP_CFLAGS $LIBSWSCALE_CFLAGS"
190found_header="false"
191
192AC_TRY_COMPILE([
193#include <inttypes.h>
194#include <libswscale/swscale.h>],[], [found_header="true";SWSCALE_HEADER="<libswscale/swscale.h>"],)
195
196if test $found_header = "false"; then
197AC_TRY_COMPILE([
198#include <inttypes.h>
199#include <swscale/swscale.h>],[], [found_header="true";SWSCALE_HEADER="<swscale/swscale.h>"],)
200fi
201
202if test $found_header = "false"; then
203AC_TRY_COMPILE([
204#include <inttypes.h>
205#include <swscale.h>],[],[found_header="true";SWSCALE_HEADER="<swscale.h>"])
206fi
207
208CFLAGS="$CFLAGS_save"
209
210fi
211
212AC_SUBST(LIBSWSCALE_REQUIRED)
213AC_SUBST(LIBSWSCALE_LIBS)
214AC_SUBST(LIBSWSCALE_CFLAGS)
215
216AM_CONDITIONAL(HAVE_LIBSWSCALE, test x$have_libswscale = xtrue)
217
218if test "x$have_libswscale" = "xtrue"; then
219AC_DEFINE([HAVE_LIBSWSCALE])
220AC_DEFINE_UNQUOTED(SWSCALE_HEADER, $SWSCALE_HEADER)
221fi
222
223])
224
225dnl
226dnl Check for theora decoder
227dnl
228
229AC_DEFUN([GMERLIN_CHECK_THEORADEC],[
230
231AH_TEMPLATE([HAVE_THEORADEC],
232            [Do we have theora decoder installed?])
233
234have_theora="false"
235
236THEORADEC_REQUIRED="1.0.0"
237
238AC_ARG_ENABLE(theoradec,
239[AC_HELP_STRING([--disable-theoradec],[Disable theoradec (default: autodetect)])],
240[case "${enableval}" in
241   yes) test_theoradec=true ;;
242   no)  test_theoradec=false ;;
243esac],[test_theoradec=true])
244
245if test x$test_theoradec = xtrue; then
246
247PKG_CHECK_MODULES(THEORADEC, theoradec, have_theoradec="true", have_theoradec="false")
248fi
249
250AC_SUBST(THEORADEC_REQUIRED)
251AC_SUBST(THEORADEC_LIBS)
252AC_SUBST(THEORADEC_CFLAGS)
253
254AM_CONDITIONAL(HAVE_THEORADEC, test x$have_theoradec = xtrue)
255
256if test "x$have_theoradec" = "xtrue"; then
257AC_DEFINE([HAVE_THEORADEC])
258fi
259
260])
261
262dnl
263dnl Check for theora encoder
264dnl
265
266AC_DEFUN([GMERLIN_CHECK_THEORAENC],[
267
268AH_TEMPLATE([HAVE_THEORAENC],
269            [Do we have theoraenc installed?])
270
271have_theoraenc="false"
272
273THEORAENC_REQUIRED="1.0.0"
274
275AC_ARG_ENABLE(theoraenc,
276[AC_HELP_STRING([--disable-theoraenc],[Disable theoraenc (default: autodetect)])],
277[case "${enableval}" in
278   yes) test_theoraenc=true ;;
279   no)  test_theoraenc=false ;;
280esac],[test_theoraenc=true])
281
282if test x$test_theoraenc = xtrue; then
283
284PKG_CHECK_MODULES(THEORAENC, theoraenc, have_theoraenc="true", have_theoraenc="false")
285fi
286
287AC_SUBST(THEORAENC_REQUIRED)
288AC_SUBST(THEORAENC_LIBS)
289AC_SUBST(THEORAENC_CFLAGS)
290
291AM_CONDITIONAL(HAVE_THEORAENC, test x$have_theoraenc = xtrue)
292
293if test "x$have_theoraenc" = "xtrue"; then
294AC_DEFINE([HAVE_THEORAENC])
295fi
296
297])
298
299
300dnl
301dnl Check for schroedinger
302dnl
303
304AC_DEFUN([GMERLIN_CHECK_SCHROEDINGER],[
305
306AH_TEMPLATE([HAVE_SCHROEDINGER],
307            [Do we have schroedinger installed?])
308
309have_schroedinger="false"
310
311SCHROEDINGER_REQUIRED="1.0.5"
312
313AC_ARG_ENABLE(schroedinger,
314[AC_HELP_STRING([--disable-schroedinger],[Disable schroedinger (default: autodetect)])],
315[case "${enableval}" in
316   yes) test_schroedinger=true ;;
317   no)  test_schroedinger=false ;;
318esac],[test_schroedinger=true])
319
320if test x$test_schroedinger = xtrue; then
321
322PKG_CHECK_MODULES(SCHROEDINGER, schroedinger-1.0 >= $SCHROEDINGER_REQUIRED, have_schroedinger="true", have_schroedinger="false")
323fi
324
325AC_SUBST(SCHROEDINGER_REQUIRED)
326AC_SUBST(SCHROEDINGER_LIBS)
327AC_SUBST(SCHROEDINGER_CFLAGS)
328
329AM_CONDITIONAL(HAVE_SCHROEDINGER, test x$have_schroedinger = xtrue)
330
331if test "x$have_schroedinger" = "xtrue"; then
332AC_DEFINE([HAVE_SCHROEDINGER])
333fi
334
335])
336
337dnl
338dnl Check for speex
339dnl
340
341AC_DEFUN([GMERLIN_CHECK_SPEEX],[
342
343AH_TEMPLATE([HAVE_SPEEX],
344            [Do we have speex installed?])
345
346have_speex="false"
347
348SPEEX_REQUIRED="1.0.4"
349
350AC_ARG_ENABLE(speex,
351[AC_HELP_STRING([--disable-speex],[Disable speex (default: autodetect)])],
352[case "${enableval}" in
353   yes) test_speex=true ;;
354   no)  test_speex=false ;;
355esac],[test_speex=true])
356
357if test x$test_speex = xtrue; then
358
359PKG_CHECK_MODULES(SPEEX, speex >= $SPEEX_REQUIRED, have_speex="true", have_speex="false")
360
361fi
362
363AC_SUBST(SPEEX_REQUIRED)
364AC_SUBST(SPEEX_LIBS)
365AC_SUBST(SPEEX_CFLAGS)
366
367AM_CONDITIONAL(HAVE_SPEEX, test x$have_speex = xtrue)
368
369if test "x$have_speex" = "xtrue"; then
370AC_DEFINE([HAVE_SPEEX])
371fi
372
373])
374
375dnl
376dnl Check for mjpegtools
377dnl
378
379AC_DEFUN([GMERLIN_CHECK_MJPEGTOOLS],[
380
381AH_TEMPLATE([HAVE_MJPEGTOOLS],
382            [Do we have mjpegtools installed?])
383
384have_mjpegtools="false"
385
386MJPEGTOOLS_REQUIRED="1.9.0"
387
388AC_ARG_ENABLE(mjpegtools,
389[AC_HELP_STRING([--disable-mjpegtools],[Disable mjpegtools (default: autodetect)])],
390[case "${enableval}" in
391   yes) test_mjpegtools=true ;;
392   no)  test_mjpegtools=false ;;
393esac],[test_mjpegtools=true])
394
395if test x$test_mjpegtools = xtrue; then
396
397PKG_CHECK_MODULES(MJPEGTOOLS, mjpegtools >= $MJPEGTOOLS_REQUIRED, have_mjpegtools="true", have_mjpegtools="false")
398
399fi
400
401AC_SUBST(MJPEGTOOLS_REQUIRED)
402AC_SUBST(MJPEGTOOLS_LIBS)
403AC_SUBST(MJPEGTOOLS_CFLAGS)
404
405AM_CONDITIONAL(HAVE_MJPEGTOOLS, test x$have_mjpegtools = xtrue)
406
407if test "x$have_mjpegtools" = "xtrue"; then
408AC_DEFINE([HAVE_MJPEGTOOLS])
409fi
410
411])
412
413dnl
414dnl Check for pulseaudio
415dnl
416
417AC_DEFUN([GMERLIN_CHECK_PULSEAUDIO],[
418
419AH_TEMPLATE([HAVE_PULSEAUDIO],
420            [Do we have pulseaudio installed?])
421
422have_pulseaudio="false"
423
424PULSEAUDIO_REQUIRED="0.9.6"
425
426AC_ARG_ENABLE(pulseaudio,
427[AC_HELP_STRING([--disable-pulseaudio],[Disable pulseaudio (default: autodetect)])],
428[case "${enableval}" in
429   yes) test_pulseaudio=true ;;
430   no)  test_pulseaudio=false ;;
431esac],[test_pulseaudio=true])
432
433if test x$test_pulseaudio = xtrue; then
434
435PKG_CHECK_MODULES(PULSEAUDIO, libpulse-simple >= $PULSEAUDIO_REQUIRED, have_pulseaudio="true", have_pulseaudio="false")
436
437fi
438
439AC_SUBST(PULSEAUDIO_REQUIRED)
440AC_SUBST(PULSEAUDIO_LIBS)
441AC_SUBST(PULSEAUDIO_CFLAGS)
442
443AM_CONDITIONAL(HAVE_PULSEAUDIO, test x$have_pulseaudio = xtrue)
444
445if test "x$have_pulseaudio" = "xtrue"; then
446AC_DEFINE([HAVE_PULSEAUDIO])
447fi
448
449])
450
451dnl
452dnl Ogg
453dnl
454
455AC_DEFUN([GMERLIN_CHECK_OGG],[
456
457OGG_REQUIRED="1.0"
458
459have_ogg=false
460AH_TEMPLATE([HAVE_OGG], [Ogg libraries are there])
461
462AC_ARG_ENABLE(ogg,
463[AC_HELP_STRING([--disable-ogg],[Disable ogg (default: autodetect)])],
464[case "${enableval}" in
465   yes) test_ogg=true ;;
466   no)  test_ogg=false ;;
467esac],[test_ogg=true])
468
469if test x$test_ogg = xtrue; then
470
471XIPH_PATH_OGG(have_ogg=true)
472fi
473
474AM_CONDITIONAL(HAVE_OGG, test x$have_ogg = xtrue)
475
476if test x$have_ogg = xtrue; then
477AC_DEFINE(HAVE_OGG)
478fi
479
480AC_SUBST(OGG_REQUIRED)
481
482])
483
484
485
486dnl
487dnl Vorbis
488dnl
489
490AC_DEFUN([GMERLIN_CHECK_VORBIS],[
491
492VORBIS_REQUIRED="1.0"
493
494have_vorbis=false
495AH_TEMPLATE([HAVE_VORBIS], [Vorbis libraries are there])
496
497AC_ARG_ENABLE(vorbis,
498[AC_HELP_STRING([--disable-vorbis],[Disable vorbis (default: autodetect)])],
499[case "${enableval}" in
500   yes) test_vorbis=true ;;
501   no)  test_vorbis=false ;;
502esac],[test_vorbis=true])
503
504if test x$test_vorbis = xtrue; then
505
506XIPH_PATH_VORBIS(have_vorbis=true)
507fi
508
509AM_CONDITIONAL(HAVE_VORBIS, test x$have_vorbis = xtrue)
510
511if test x$have_vorbis = xtrue; then
512AC_DEFINE(HAVE_VORBIS)
513
514OLD_CFLAGS=$CFLAGS
515OLD_LIBS=$LIBS
516
517CFLAGS="$VORBIS_CFLAGS"
518LIBS="$VORBIS_LIBS"
519
520AC_CHECK_FUNCS(vorbis_synthesis_restart)
521
522CFLAGS="$OLD_CFLAGS"
523LIBS="$OLD_LIBS"
524
525
526fi
527
528AC_SUBST(VORBIS_REQUIRED)
529
530])
531
532dnl
533dnl libmpeg2
534dnl
535
536AC_DEFUN([GMERLIN_CHECK_LIBMPEG2],[
537
538LIBMPEG2_REQUIRED="0.4.0"
539
540have_libmpeg2=false
541AH_TEMPLATE([HAVE_LIBMPEG2], [libmpeg2 found])
542
543AC_ARG_ENABLE(libmpeg2,
544[AC_HELP_STRING([--disable-libmpeg2],[Disable libmpeg2 (default: autodetect)])],
545[case "${enableval}" in
546   yes) test_libmpeg2=true ;;
547   no)  test_libmpeg2=false ;;
548esac],[test_libmpeg2=true])
549
550if test x$test_libmpeg2 = xtrue; then
551
552
553PKG_CHECK_MODULES(LIBMPEG2, libmpeg2 >= $LIBMPEG2_REQUIRED, have_libmpeg2=true, have_libmpeg2=false)
554
555fi
556
557AM_CONDITIONAL(HAVE_LIBMPEG2, test x$have_libmpeg2 = xtrue)
558
559if test x$have_libmpeg2 = xtrue; then
560AC_DEFINE(HAVE_LIBMPEG2)
561fi
562
563AC_SUBST(LIBMPEG2_REQUIRED)
564
565])
566
567dnl
568dnl libtiff
569dnl
570
571AC_DEFUN([GMERLIN_CHECK_LIBTIFF],[
572
573AH_TEMPLATE([HAVE_LIBTIFF], [Enable tiff codec])
574
575have_libtiff=false
576TIFF_REQUIRED="3.5.0"
577
578AC_ARG_ENABLE(libtiff,
579[AC_HELP_STRING([--disable-libtiff],[Disable libtiff (default: autodetect)])],
580[case "${enableval}" in
581   yes) test_libtiff=true ;;
582   no)  test_libtiff=false ;;
583esac],[test_libtiff=true])
584
585if test x$test_libtiff = xtrue; then
586
587OLD_LIBS=$LIBS
588
589LIBS="$LIBS -ltiff"
590
591AC_MSG_CHECKING(for libtiff)
592AC_TRY_LINK([#include <tiffio.h>],
593            [TIFF * tiff = (TIFF*)0;
594	     int i = 0;
595	     /* We ensure the function is here but never call it */
596             if(i)
597	       TIFFReadRGBAImage(tiff, 0, 0, (uint32*)0, 0);
598	     return 0;],
599            [have_libtiff=true])
600
601case $have_libtiff in
602  true) AC_DEFINE(HAVE_LIBTIFF)
603        AC_MSG_RESULT(yes)
604        TIFF_LIBS=$LIBS;;
605  false) AC_MSG_RESULT(no); TIFF_LIBS=""; TIFF_CFLAGS="";;
606esac
607LIBS=$OLD_LIBS
608
609fi
610
611AC_SUBST(TIFF_CFLAGS)
612AC_SUBST(TIFF_LIBS)
613AC_SUBST(TIFF_REQUIRED)
614
615AM_CONDITIONAL(HAVE_LIBTIFF, test x$have_libtiff = xtrue)
616
617if test x$have_libtiff = xtrue; then
618AC_DEFINE(HAVE_LIBTIFF)
619fi
620
621])
622
623dnl
624dnl libopenjpeg
625dnl
626
627AC_DEFUN([GMERLIN_CHECK_OPENJPEG],[
628
629AH_TEMPLATE([HAVE_OPENJPEG], [Enable openjpeg codec])
630
631have_openjpeg=false
632OPENJPEG_REQUIRED="1.3"
633
634AC_ARG_ENABLE(openjpeg,
635[AC_HELP_STRING([--disable-openjpeg],[Disable openjpeg (default: autodetect)])],
636[case "${enableval}" in
637   yes) test_openjpeg=true ;;
638   no)  test_openjpeg=false ;;
639esac],[test_openjpeg=true])
640
641if test x$test_openjpeg = xtrue; then
642
643OLD_CFLAGS=$CFLAGS
644OLD_LIBS=$LIBS
645
646LIBS="$GMERLIN_DEP_LIBS $LIBS -lopenjpeg -lm"
647CFLAGS="$CFLAGS $GMERLIN_DEP_CFLAGS"
648
649AC_MSG_CHECKING(for openjpeg)
650AC_TRY_LINK([#include <openjpeg.h>],
651            [opj_version();
652	     return 0;],
653            [have_openjpeg=true])
654
655case $have_openjpeg in
656  true) AC_DEFINE(HAVE_OPENJPEG)
657        AC_MSG_RESULT(yes)
658        OPENJPEG_LIBS=$LIBS;
659        OPENJPEG_CFLAGS=$CFLAGS ;;
660  false) AC_MSG_RESULT(no); OPENJPEG_LIBS=""; OPENJPEG_CFLAGS="";;
661esac
662CFLAGS=$OLD_CFLAGS
663LIBS=$OLD_LIBS
664
665fi
666
667AC_SUBST(OPENJPEG_CFLAGS)
668AC_SUBST(OPENJPEG_LIBS)
669AC_SUBST(OPENJPEG_REQUIRED)
670
671AM_CONDITIONAL(HAVE_OPENJPEG, test x$have_openjpeg = xtrue)
672
673if test x$have_openjpeg = xtrue; then
674AC_DEFINE(HAVE_OPENJPEG)
675fi
676
677])
678
679
680dnl
681dnl libsmbclient
682dnl
683
684AC_DEFUN([GMERLIN_CHECK_SAMBA],[
685
686AH_TEMPLATE([HAVE_SAMBA], [Samba support])
687
688have_libsmbclient=false
689
690SAMBA_REQUIRED="3.0.0"
691
692AC_ARG_ENABLE(samba,
693[AC_HELP_STRING([--disable-samba],[Disable samba (default autodetect)])],
694[case "${enableval}" in
695   yes) test_libsmbclient=true ;;
696   no)  test_libsmbclient=false ;;
697esac],[test_libsmbclient=true])
698
699if test x$test_libsmbclient = xtrue; then
700
701OLD_CFLAGS=$CFLAGS
702OLD_LIBS=$LIBS
703
704LIBS="-lsmbclient"
705CFLAGS=""
706
707AC_MSG_CHECKING(for libsmbclient)
708AC_TRY_LINK([#include <libsmbclient.h>
709             #include <stdio.h>],
710            [int i = 0;
711	     /* We ensure the function is here but never call it */
712             if(i)
713		smbc_lseek(0,0,SEEK_SET);
714	     return 0;],
715            [have_libsmbclient=true])
716
717case $have_libsmbclient in
718  true) AC_DEFINE(HAVE_SAMBA)
719        AC_MSG_RESULT(yes)
720        SAMBA_LIBS=$LIBS;
721        SAMBA_CFLAGS=$CFLAGS ;;
722  false) AC_MSG_RESULT(no); SAMBA_LIBS=""; SAMBA_CFLAGS="";;
723esac
724CFLAGS=$OLD_CFLAGS
725LIBS=$OLD_LIBS
726
727fi
728
729AC_SUBST(SAMBA_CFLAGS)
730AC_SUBST(SAMBA_LIBS)
731AC_SUBST(SAMBA_REQUIRED)
732
733AM_CONDITIONAL(HAVE_SAMBA, test x$have_libsmbclient = xtrue)
734
735if test x$have_libsmbclient = xtrue; then
736AC_DEFINE(HAVE_SAMBA)
737fi
738
739])
740
741dnl
742dnl PNG
743dnl
744
745AC_DEFUN([GMERLIN_CHECK_LIBPNG],[
746
747AH_TEMPLATE([HAVE_LIBPNG], [Enable png codec])
748
749have_libpng=false
750PNG_REQUIRED="1.2.2"
751
752AC_ARG_ENABLE(libpng,
753[AC_HELP_STRING([--disable-libpng],[Disable libpng (default: autodetect)])],
754[case "${enableval}" in
755   yes) test_libpng=true ;;
756   no)  test_libpng=false ;;
757esac],[test_libpng=true])
758
759if test x$test_libpng = xtrue; then
760
761OLD_LIBS=$LIBS
762
763LIBS="$LIBS -lpng -lm -lz"
764
765AC_MSG_CHECKING(for libpng)
766AC_TRY_LINK([#include <png.h>],
767            [png_structp png_ptr;
768             png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,
769                                               (png_voidp)0,
770                                                NULL, NULL);],
771            [have_libpng=true])
772
773case $have_libpng in
774  true) AC_DEFINE(HAVE_LIBPNG)
775        AC_MSG_RESULT(yes)
776        PNG_LIBS=$LIBS;;
777  false) AC_MSG_RESULT(no); PNG_LIBS=""; PNG_CFLAGS="";;
778esac
779LIBS=$OLD_LIBS
780
781fi
782
783AC_SUBST(PNG_CFLAGS)
784AC_SUBST(PNG_LIBS)
785AC_SUBST(PNG_REQUIRED)
786
787AM_CONDITIONAL(HAVE_LIBPNG, test x$have_libpng = xtrue)
788
789if test x$have_libpng = xtrue; then
790AC_DEFINE(HAVE_LIBPNG)
791fi
792
793])
794
795dnl
796dnl FAAD2
797dnl
798
799AC_DEFUN([GMERLIN_CHECK_FAAD2],[
800
801FAAD2_PREFIX=""
802FAAD2_REQUIRED="2.0"
803have_faad2="false"
804AH_TEMPLATE([HAVE_FAAD2], [Enable FAAD2])
805AH_TEMPLATE([HAVE_NEAACDEC_H], [Use new header file for faad2])
806AC_ARG_WITH(faad2-prefix, [ --with-faad2-prefix=PFX   Prefix to search for faad2],FAAD2_PREFIX=${withval})
807
808
809AC_ARG_ENABLE(faad2,
810[AC_HELP_STRING([--disable-faad2],[Disable faad2 (default: autodetect)])],
811[case "${enableval}" in
812   yes) test_faad2=true ;;
813   no)  test_faad2=false ;;
814esac],[test_faad2=true])
815
816if test x$test_faad2 = xtrue; then
817
818OLD_CFLAGS=$CFLAGS
819OLD_LIBS=$LIBS
820
821if test "x$FAAD2_PREFIX" = "x"; then
822CFLAGS="$GMERLIN_DEP_CFLAGS"
823LIBS="$GMERLIN_DEP_LIBS -lfaad -lm"
824else
825CFLAGS="-I$FAAD2_PREFIX/include"
826LIBS="-L$FAAD2_PREFIX/lib -lfaad -lm"
827fi
828
829dnl
830dnl Check for neaacdec.h
831dnl
832
833AC_MSG_CHECKING(for neaacdec.h usability for faad2)
834
835  AC_TRY_RUN([
836    #include <neaacdec.h>
837    #include <stdio.h>
838    main()
839    {
840    int faad_major;
841    int faad_minor;
842    NeAACDecHandle dec;
843
844    if(sscanf(FAAD2_VERSION, "%d.%d", &faad_major, &faad_minor) < 2)
845      return -1;
846    dec = NeAACDecOpen();
847    if(!dec)
848      return -1;
849    return 0;
850    }
851  ],
852  [
853    # program could be run
854    have_faad2="true"
855    AC_MSG_RESULT(yes)
856    FAAD2_CFLAGS=$CFLAGS
857    FAAD2_LIBS=$LIBS
858    AC_DEFINE(HAVE_NEAACDEC_H)
859  ],
860    # program could not be run
861    AC_MSG_RESULT(no)
862)
863
864if test "x$have_faad2" != "xtrue"; then
865
866AC_MSG_CHECKING(for faad.h usability for faad2)
867
868  AC_TRY_RUN([
869    #include <faad.h>
870    #include <stdio.h>
871    main()
872    {
873    int faad_major;
874    int faad_minor;
875    faacDecHandle dec;
876
877    if(sscanf(FAAD2_VERSION, "%d.%d", &faad_major, &faad_minor) < 2)
878      return -1;
879    dec = faacDecOpen();
880    if(!dec)
881      return -1;
882    return 0;
883    }
884  ],
885  [
886    # program could be run
887    have_faad2="true"
888    AC_MSG_RESULT(yes)
889    FAAD2_CFLAGS=$CFLAGS
890    FAAD2_LIBS=$LIBS
891
892  ],
893    # program could not be run
894    AC_MSG_RESULT(no)
895)
896fi
897
898
899CFLAGS=$OLD_CFLAGS
900LIBS=$OLD_LIBS
901
902fi
903
904AC_SUBST(FAAD2_CFLAGS)
905AC_SUBST(FAAD2_LIBS)
906AC_SUBST(FAAD2_REQUIRED)
907AM_CONDITIONAL(HAVE_FAAD2, test x$have_faad2 = xtrue)
908
909if test x$have_faad2 = xtrue; then
910AC_DEFINE(HAVE_FAAD2)
911fi
912
913])
914
915dnl
916dnl DVDREAD
917dnl
918
919AC_DEFUN([GMERLIN_CHECK_DVDREAD],[
920
921DVDREAD_REQUIRED="0.9.5"
922AH_TEMPLATE([HAVE_DVDREAD], [Enable libdvdread])
923have_dvdread="false"
924
925AC_ARG_ENABLE(dvdread,
926[AC_HELP_STRING([--disable-dvdread],[Disable libdvdread (default: autodetect)])],
927[case "${enableval}" in
928   yes) test_dvdread=true ;;
929   no)  test_dvdread=false ;;
930esac],[test_dvdread=true])
931
932if test x$test_dvdread = xtrue; then
933
934OLD_CFLAGS=$CFLAGS
935OLD_LIBS=$LIBS
936
937CFLAGS="$GMERLIN_DEP_CFLAGS"
938LIBS="$GMERLIN_DEP_LIBS -ldvdread"
939
940AC_MSG_CHECKING(for libdvdread >= 0.9.5)
941
942  AC_TRY_RUN([
943    #include <dvdread/dvd_reader.h>
944    #include <stdio.h>
945    main()
946    {
947#if DVDREAD_VERSION < 905
948    return -1;
949#else
950    return 0;
951#endif
952    }
953  ],
954  [
955    # program could be run
956    have_dvdread="true"
957    AC_MSG_RESULT(yes)
958    DVDREAD_CFLAGS=""
959    DVDREAD_LIBS="-ldvdread"
960
961  ],
962    # program could not be run
963    AC_MSG_RESULT(no)
964)
965
966if test "x$have_dvdread" = "xtrue"; then
967AC_CHECK_FUNCS(DVDInit DVDFinish)
968fi
969
970CFLAGS=$OLD_CFLAGS
971LIBS=$OLD_LIBS
972
973fi
974
975AC_SUBST(DVDREAD_CFLAGS)
976AC_SUBST(DVDREAD_LIBS)
977AC_SUBST(DVDREAD_REQUIRED)
978AM_CONDITIONAL(HAVE_DVDREAD, test x$have_dvdread = xtrue)
979
980if test x$have_dvdread = xtrue; then
981AC_DEFINE(HAVE_DVDREAD)
982fi
983
984])
985
986dnl
987dnl FLAC
988dnl
989
990AC_DEFUN([GMERLIN_CHECK_FLAC],[
991
992FLAC_REQUIRED="1.2.0"
993have_flac="false"
994
995AC_ARG_ENABLE(flac,
996[AC_HELP_STRING([--disable-flac],[Disable flac (default: autodetect)])],
997[case "${enableval}" in
998   yes) test_flac=true ;;
999   no)  test_flac=false ;;
1000esac],[test_flac=true])
1001
1002if test x$test_flac = xtrue; then
1003
1004AH_TEMPLATE([HAVE_FLAC], [Enable FLAC])
1005
1006AC_MSG_CHECKING(for flac)
1007
1008OLD_CFLAGS=$CFLAGS
1009OLD_LIBS=$LIBS
1010
1011CFLAGS="$GMERLIN_DEP_CFLAGS"
1012LIBS="$GMERLIN_DEP_LIBS -lFLAC -lm"
1013
1014  AC_TRY_RUN([
1015    #include <FLAC/stream_decoder.h>
1016    #include <stdio.h>
1017    main()
1018    {
1019    FILE * version_file;
1020    int version_major;
1021    int version_minor;
1022    int version_patchlevel;
1023    fprintf(stderr, "FLAC__VERSION_STRING: %s\n", FLAC__VERSION_STRING);
1024    if(sscanf(FLAC__VERSION_STRING, "%d.%d.%d", &version_major,
1025              &version_minor, &version_patchlevel) < 3)
1026      return -1;
1027    if((version_major != 1) || (version_minor < 2))
1028      return 1;
1029    version_file = fopen("flac_version", "w");
1030    fprintf(version_file, "%d.%d.%d\n", version_major,
1031            version_minor, version_patchlevel);
1032    fclose(version_file);
1033    return 0;
1034    }
1035  ],
1036  [
1037    # program could be run
1038    have_flac="true"
1039    AC_MSG_RESULT(yes)
1040    FLAC_CFLAGS=$CFLAGS
1041    FLAC_LIBS=$LIBS
1042    BGAV_FLAC_MAJOR=`cat flac_version | cut -d . -f 1`
1043    BGAV_FLAC_MINOR=`cat flac_version | cut -d . -f 2`
1044    BGAV_FLAC_PATCHLEVEL=`cat flac_version | cut -d . -f 3`
1045    rm -f flac_version
1046  ],
1047    # program could not be run
1048    AC_MSG_RESULT(no)
1049)
1050
1051CFLAGS=$OLD_CFLAGS
1052LIBS=$OLD_LIBS
1053
1054fi
1055
1056AC_SUBST(FLAC_CFLAGS)
1057AC_SUBST(FLAC_LIBS)
1058AC_SUBST(FLAC_REQUIRED)
1059
1060AM_CONDITIONAL(HAVE_FLAC, test x$have_flac = xtrue)
1061
1062if test x$have_flac = xtrue; then
1063AC_DEFINE(HAVE_FLAC)
1064AC_DEFINE_UNQUOTED(BGAV_FLAC_MAJOR, $BGAV_FLAC_MAJOR, Flac major version)
1065AC_DEFINE_UNQUOTED(BGAV_FLAC_MINOR, $BGAV_FLAC_MINOR, Flac minor version)
1066AC_DEFINE_UNQUOTED(BGAV_FLAC_PATCHLEVEL, $BGAV_FLAC_PATCHLEVEL, Flac patchlevel)
1067fi
1068
1069])
1070
1071dnl
1072dnl Musepack
1073dnl
1074
1075AC_DEFUN([GMERLIN_CHECK_MUSEPACK],[
1076
1077have_musepack="false"
1078MUSEPACK_REQUIRED="1.1"
1079
1080AC_ARG_ENABLE(musepack,
1081[AC_HELP_STRING([--disable-musepack],[Disable musepack (default: autodetect)])],
1082[case "${enableval}" in
1083   yes) test_musepack=true ;;
1084   no)  test_musepack=false ;;
1085esac],[test_musepack=true])
1086
1087if test x$test_musepack = xtrue; then
1088
1089OLD_CFLAGS=$CFLAGS
1090OLD_LIBS=$LIBS
1091
1092LIBS="$GMERLIN_DEP_LIBS -lmpcdec"
1093CFLAGS="$GMERLIN_DEP_CFLAGS"
1094
1095AH_TEMPLATE([HAVE_MUSEPACK], [Enable Musepack])
1096AC_MSG_CHECKING(for libmpcdec)
1097
1098  AC_TRY_RUN([
1099    #include <mpcdec/mpcdec.h>
1100    #include <stdio.h>
1101    main()
1102    {
1103    mpc_streaminfo si;
1104    mpc_streaminfo_init(&si);
1105    return 0;
1106    }
1107  ],
1108  [
1109    # program could be run
1110    have_musepack="true"
1111    AC_MSG_RESULT(yes)
1112    MUSEPACK_CFLAGS=$CFLAGS
1113    MUSEPACK_LIBS=$LIBS
1114
1115  ],
1116    # program could not be run
1117    AC_MSG_RESULT(no)
1118)
1119
1120CFLAGS=$OLD_CFLAGS
1121LIBS=$OLD_LIBS
1122
1123fi
1124
1125AC_SUBST(MUSEPACK_CFLAGS)
1126AC_SUBST(MUSEPACK_LIBS)
1127AC_SUBST(MUSEPACK_REQUIRED)
1128
1129AM_CONDITIONAL(HAVE_MUSEPACK, test x$have_musepack = xtrue)
1130
1131if test x$have_musepack = xtrue; then
1132AC_DEFINE(HAVE_MUSEPACK)
1133fi
1134
1135])
1136
1137dnl
1138dnl MAD
1139dnl
1140
1141AC_DEFUN([GMERLIN_CHECK_MAD],[
1142
1143MAD_REQUIRED="0.15.0"
1144AH_TEMPLATE([HAVE_MAD], [Enable MAD])
1145have_mad="false"
1146
1147AC_ARG_ENABLE(mad,
1148[AC_HELP_STRING([--disable-mad],[Disable libmad (default: autodetect)])],
1149[case "${enableval}" in
1150   yes) test_mad=true ;;
1151   no)  test_mad=false ;;
1152esac],[test_mad=true])
1153
1154if test x$test_mad = xtrue; then
1155
1156OLD_CFLAGS=$CFLAGS
1157OLD_LIBS=$LIBS
1158
1159LIBS="$GMERLIN_DEP_LIBS -lmad"
1160CFLAGS="$GMERLIN_DEP_CFLAGS"
1161
1162AC_MSG_CHECKING(for libmad 0.15.x)
1163
1164  AC_TRY_RUN([
1165    #include "mad.h"
1166    #include <stdio.h>
1167    main()
1168    {
1169    struct mad_stream stream;
1170    int version_major = MAD_VERSION_MAJOR;
1171    int version_minor = MAD_VERSION_MINOR;
1172    if((version_major != 0) || (version_minor != 15))
1173      return -1;
1174    mad_stream_init(&stream);
1175    return 0;
1176    }
1177  ],
1178  [
1179    # program could be run
1180    have_mad="true"
1181    AC_MSG_RESULT(yes)
1182    MAD_CFLAGS=$CFLAGS
1183    MAD_LIBS=$LIBS
1184
1185  ],
1186    # program could not be run
1187    AC_MSG_RESULT(no)
1188)
1189
1190CFLAGS=$OLD_CFLAGS
1191LIBS=$OLD_LIBS
1192
1193fi
1194
1195AC_SUBST(MAD_CFLAGS)
1196AC_SUBST(MAD_LIBS)
1197AC_SUBST(MAD_REQUIRED)
1198
1199AM_CONDITIONAL(HAVE_MAD, test x$have_mad = xtrue)
1200
1201if test x$have_mad = xtrue; then
1202AC_DEFINE(HAVE_MAD)
1203fi
1204
1205])
1206
1207dnl
1208dnl liba52
1209dnl
1210
1211AC_DEFUN([GMERLIN_CHECK_LIBA52],[
1212
1213AH_TEMPLATE([HAVE_LIBA52], [Enable liba52])
1214have_liba52="false"
1215
1216AC_ARG_ENABLE(liba52,
1217[AC_HELP_STRING([--disable-liba52],[Disable liba52 (default: autodetect)])],
1218[case "${enableval}" in
1219   yes) test_liba52=true ;;
1220   no)  test_liba52=false ;;
1221esac],[test_liba52=true])
1222
1223if test x$test_liba52 = xtrue; then
1224
1225OLD_CFLAGS=$CFLAGS
1226OLD_LIBS=$LIBS
1227
1228LIBS="$GMERLIN_DEP_LIBS -la52 -lm"
1229CFLAGS="$GMERLIN_DEP_CFLAGS"
1230LIBA52_REQUIRED="0.7.4"
1231AC_MSG_CHECKING(for liba52)
1232
1233  AC_TRY_RUN([
1234    #include <inttypes.h>
1235    #include <a52dec/a52.h>
1236    main()
1237    {
1238    a52_state_t * state = a52_init(0);
1239    return 0;
1240    }
1241  ],
1242  [
1243    # program could be run
1244    have_liba52="true"
1245    AC_MSG_RESULT(yes)
1246    LIBA52_CFLAGS=$CFLAGS
1247    LIBA52_LIBS=$LIBS
1248
1249  ],
1250    # program could not be run
1251    AC_MSG_RESULT(no)
1252)
1253
1254CFLAGS=$OLD_CFLAGS
1255LIBS=$OLD_LIBS
1256
1257fi
1258
1259AC_SUBST(LIBA52_CFLAGS)
1260AC_SUBST(LIBA52_LIBS)
1261AC_SUBST(LIBA52_REQUIRED)
1262
1263AM_CONDITIONAL(HAVE_LIBA52, test x$have_liba52 = xtrue)
1264
1265if test x$have_liba52 = xtrue; then
1266AC_DEFINE(HAVE_LIBA52)
1267fi
1268
1269])
1270
1271dnl
1272dnl CDrom support
1273dnl
1274
1275AC_DEFUN([GMERLIN_CHECK_CDIO],[
1276
1277AH_TEMPLATE([HAVE_CDIO], [ libcdio found ])
1278
1279have_cdio="false"
1280CDIO_REQUIRED="0.76"
1281
1282AC_ARG_ENABLE(libcdio,
1283[AC_HELP_STRING([--disable-libcdio],[Disable libcdio (default: autodetect)])],
1284[case "${enableval}" in
1285   yes) test_cdio=true ;;
1286   no)  test_cdio=false ;;
1287esac],[test_cdio=true])
1288
1289if test x$test_cdio = xtrue; then
1290PKG_CHECK_MODULES(CDIO, libcdio >= $CDIO_REQUIRED, have_cdio="true", have_cdio="false")
1291fi
1292
1293AM_CONDITIONAL(HAVE_CDIO, test x$have_cdio = xtrue)
1294AC_SUBST(CDIO_REQUIRED)
1295
1296if test "x$have_cdio" = "xtrue"; then
1297AC_DEFINE([HAVE_CDIO])
1298fi
1299
1300])
1301
1302dnl
1303dnl libdca
1304dnl
1305
1306AC_DEFUN([GMERLIN_CHECK_DCA],[
1307
1308AH_TEMPLATE([HAVE_DCA], [ libdca found ])
1309
1310have_dca="false"
1311have_dts="false"
1312
1313DCA_REQUIRED="0.0.2"
1314
1315AC_ARG_ENABLE(libcda,
1316[AC_HELP_STRING([--disable-libdca],[Disable libdca (default: autodetect)])],
1317[case "${enableval}" in
1318   yes) test_libdca=true ;;
1319   no)  test_libdca=false ;;
1320esac],[test_libdca=true])
1321
1322if test x$test_libdca = xtrue; then
1323PKG_CHECK_MODULES(DCA, libdca >= $DCA_REQUIRED, have_dca="true", have_dca="false")
1324
1325if test "x$have_dca" != "xtrue"; then
1326PKG_CHECK_MODULES(DCA, libdts >= $DCA_REQUIRED, have_dts="true", have_dts="false")
1327
1328dnl
1329dnl Check for old dts.h header
1330dnl
1331
1332OLD_CPPFLAGS=$CPPFLAGS
1333CPPFLAGS="$CFLAGS $GMERLIN_DEP_CFLAGS $DCA_CFLAGS"
1334AC_CHECK_HEADERS([dts.h])
1335CPPFLAGS=$OLD_CPPFLAGS
1336
1337
1338dnl
1339dnl Some systems need -ldts_pic
1340dnl
1341
1342if test x$have_dts = xtrue; then
1343have_libdts_pic=false
1344OLD_CFLAGS=$CFLAGS
1345OLD_LIBS=$LIBS
1346CFLAGS=$DCA_CFLAGS
1347LIBS=`pkg-config --libs-only-L libdts`
1348LIBS="$LIBS -lm"
1349AC_CHECK_LIB(dts_pic, dts_init, have_libdts_pic=true, have_libdts_pic=false)
1350
1351if test x$have_libdts_pic = xtrue; then
1352DCA_LIBS="$LIBS -ldts_pic"
1353fi
1354
1355CFLAGS=$OLD_CFLAGS
1356LIBS=$OLD_LIBS
1357
1358have_dca="true"
1359
1360fi
1361fi
1362fi
1363
1364AM_CONDITIONAL(HAVE_DCA, test x$have_dca = xtrue)
1365AC_SUBST(DCA_REQUIRED)
1366
1367if test "x$have_dca" = "xtrue"; then
1368AC_DEFINE([HAVE_DCA])
1369fi
1370
1371])
1372
1373
1374
1375dnl
1376dnl Ogg
1377dnl
1378
1379AC_DEFUN([GMERLIN_CHECK_OGG],[
1380
1381OGG_REQUIRED="1.1"
1382have_ogg=false
1383AH_TEMPLATE([HAVE_OGG], [Ogg libraries are there])
1384
1385AC_ARG_ENABLE(ogg,
1386[AC_HELP_STRING([--disable-ogg],[Disable libogg (default: autodetect)])],
1387[case "${enableval}" in
1388   yes) test_ogg=true ;;
1389   no)  test_ogg=false ;;
1390esac],[test_ogg=true])
1391
1392if test x$test_ogg = xtrue; then
1393XIPH_PATH_OGG(have_ogg=true)
1394fi
1395
1396AM_CONDITIONAL(HAVE_OGG, test x$have_ogg = xtrue)
1397
1398if test x$have_ogg = xtrue; then
1399AC_DEFINE(HAVE_OGG)
1400fi
1401
1402AC_SUBST(OGG_REQUIRED)
1403
1404])
1405
1406dnl
1407dnl lame
1408dnl
1409
1410AC_DEFUN([GMERLIN_CHECK_LAME],[
1411LAME_REQUIRED="3.93"
1412have_lame="false"
1413
1414AC_ARG_ENABLE(lame,
1415[AC_HELP_STRING([--disable-lame],[Disable lame (default: autodetect)])],
1416[case "${enableval}" in
1417   yes) test_lame=true ;;
1418   no)  test_lame=false ;;
1419esac],[test_lame=true])
1420
1421if test x$test_lame = xtrue; then
1422
1423OLD_CFLAGS=$CFLAGS
1424OLD_LIBS=$LIBS
1425
1426if test x$have_vorbis = xtrue; then
1427LIBS="$GMERLIN_DEP_LIBS -lmp3lame -lvorbis -lm"
1428else
1429LIBS="$GMERLIN_DEP_LIBS -lmp3lame -lm"
1430fi
1431
1432CFLAGS="$GMERLIN_DEP_CFLAGS"
1433
1434
1435AH_TEMPLATE([HAVE_LAME], [Enable lame])
1436AC_MSG_CHECKING(for lame)
1437  AC_TRY_RUN([
1438    #include <lame/lame.h>
1439    #include <stdio.h>
1440    main()
1441    {
1442    int version_major;
1443    int version_minor;
1444    const char * version;
1445    version = get_lame_version();
1446    fprintf(stderr, "lame version: %s\n", version);
1447    if(sscanf(version, "%d.%d", &version_major,
1448              &version_minor) < 2)
1449      return -1;
1450    if((version_major != 3) || (version_minor < 93))
1451      return 1;
1452    return 0;
1453    }
1454  ],
1455  [
1456    # program could be run
1457    have_lame="true"
1458    AC_MSG_RESULT(yes)
1459    LAME_CFLAGS=$CFLAGS
1460    LAME_LIBS=$LIBS
1461
1462  ],
1463    # program could not be run
1464    AC_MSG_RESULT(no)
1465)
1466
1467CFLAGS=$OLD_CFLAGS
1468LIBS=$OLD_LIBS
1469
1470fi
1471
1472AC_SUBST(LAME_CFLAGS)
1473AC_SUBST(LAME_LIBS)
1474AC_SUBST(LAME_REQUIRED)
1475
1476AM_CONDITIONAL(HAVE_LAME, test x$have_lame = xtrue)
1477if test x$have_lame = xtrue; then
1478AC_DEFINE(HAVE_LAME)
1479fi
1480
1481])
1482
1483dnl
1484dnl faac
1485dnl
1486
1487AC_DEFUN([GMERLIN_CHECK_FAAC],[
1488
1489have_faac="false"
1490FAAC_REQUIRED="1.24"
1491
1492
1493AC_ARG_ENABLE(faac,
1494[AC_HELP_STRING([--disable-faac],[Disable faac (default: autodetect)])],
1495[case "${enableval}" in
1496   yes) test_faac=true ;;
1497   no)  test_faac=false ;;
1498esac],[test_faac=true])
1499
1500if test x$test_faac = xtrue; then
1501
1502
1503OLD_CFLAGS=$CFLAGS
1504OLD_LIBS=$LIBS
1505
1506AH_TEMPLATE([HAVE_FAAC], [Enable faac])
1507
1508LIBS="$GMERLIN_DEP_LIBS -lfaac -lm"
1509CFLAGS="$GMERLIN_DEP_CFLAGS"
1510
1511AC_MSG_CHECKING(for faac)
1512AC_TRY_RUN([
1513    #include <inttypes.h>
1514    #include <faac.h>
1515    main()
1516    {
1517    int samplerate = 44100, num_channels = 2;
1518    unsigned long input_samples, output_bytes;
1519    faacEncHandle enc;
1520    enc = faacEncOpen(samplerate,
1521                      num_channels,
1522                      &input_samples,
1523                      &output_bytes);
1524
1525    return 0;
1526    }
1527  ],
1528  [
1529    # program could be run
1530    have_faac="true"
1531    AC_MSG_RESULT(yes)
1532    FAAC_CFLAGS=$CFLAGS
1533    FAAC_LIBS=$LIBS
1534
1535  ],
1536    # program could not be run
1537    AC_MSG_RESULT(no)
1538)
1539
1540CFLAGS=$OLD_CFLAGS
1541LIBS=$OLD_LIBS
1542
1543fi
1544
1545AC_SUBST(FAAC_CFLAGS)
1546AC_SUBST(FAAC_LIBS)
1547AC_SUBST(FAAC_REQUIRED)
1548
1549AM_CONDITIONAL(HAVE_FAAC, test x$have_faac = xtrue)
1550
1551if test x$have_faac = xtrue; then
1552AC_DEFINE(HAVE_FAAC)
1553fi
1554
1555])
1556
1557dnl
1558dnl libjpeg
1559dnl
1560
1561AC_DEFUN([GMERLIN_CHECK_LIBJPEG],[
1562
1563AH_TEMPLATE([HAVE_LIBJPEG],
1564            [Do we have libjpeg installed?])
1565
1566have_libjpeg=false
1567JPEG_REQUIRED="6b"
1568
1569AC_ARG_ENABLE(libjpeg,
1570[AC_HELP_STRING([--disable-libjpeg],[Disable libjpeg (default: autodetect)])],
1571[case "${enableval}" in
1572   yes) test_libjpeg=true ;;
1573   no)  test_libjpeg=false ;;
1574esac],[test_libjpeg=true])
1575
1576if test x$test_libjpeg = xtrue; then
1577
1578OLD_LIBS=$LIBS
1579LIBS="$LIBS -ljpeg"
1580
1581AC_MSG_CHECKING(for libjpeg)
1582AC_TRY_LINK([#include <stdio.h>
1583             #include <jpeglib.h>],
1584            [struct jpeg_decompress_struct cinfo;
1585             jpeg_create_decompress(&cinfo);],
1586            [have_libjpeg=true])
1587case $have_libjpeg in
1588  true) AC_DEFINE(HAVE_LIBJPEG)
1589        AC_MSG_RESULT(yes)
1590        JPEG_LIBS=$LIBS;;
1591  false) AC_MSG_RESULT(no); JPEG_LIBS=""; JPEG_CFLAGS="";;
1592  * ) AC_MSG_RESULT("Somethings wrong: $have_libjpeg") ;;
1593esac
1594
1595LIBS=$OLD_LIBS
1596
1597fi
1598
1599AC_SUBST(JPEG_LIBS)
1600AC_SUBST(JPEG_CFLAGS)
1601AC_SUBST(JPEG_REQUIRED)
1602AM_CONDITIONAL(HAVE_LIBJPEG, test x$have_libjpeg = xtrue)
1603
1604])
1605
1606dnl
1607dnl Linux DVB
1608dnl
1609
1610AC_DEFUN([GMERLIN_CHECK_LINUXDVB],[
1611AH_TEMPLATE([HAVE_LINUXDVB],
1612            [Linux DVB Support available])
1613
1614have_linuxdvb="true"
1615AC_CHECK_HEADERS([linux/dvb/frontend.h linux/dvb/dmx.h], [],
1616[have_linuxdvb="false"; break] )
1617
1618if test "x$have_linuxdvb" = "xtrue"; then
1619AC_DEFINE(HAVE_LINUXDVB)
1620fi
1621
1622AM_CONDITIONAL(HAVE_LINUXDVB, test x$have_linuxdvb = xtrue)
1623
1624])
1625
1626dnl
1627dnl OpenGL
1628dnl
1629AC_DEFUN([GMERLIN_CHECK_OPENGL],[
1630AH_TEMPLATE([HAVE_GL],[OpenGL available])
1631AH_TEMPLATE([HAVE_GLX],[GLX available])
1632
1633dnl
1634dnl Search for OpenGL libraries
1635dnl
1636
1637OLD_LIBS=$LIBS
1638
1639have_GL="true"
1640AC_SEARCH_LIBS([glBegin], [GL], [], [have_GL="false"], [])
1641
1642if test "x$have_GL" = "xtrue"; then
1643AC_TRY_RUN([
1644#include <GL/gl.h>
1645int main() { if(0) glBegin(GL_QUADS); return 0;}
1646],[],[have_GL="false"])
1647fi
1648
1649GL_LIBS=$LIBS
1650
1651LIBS="$OLD_LIBS"
1652
1653dnl
1654dnl Check for GLX
1655dnl
1656
1657OLD_LIBS=$LIBS
1658
1659have_GLX="true"
1660AC_SEARCH_LIBS([glXCreateContext], [GL glx], [], [have_GLX="false"], [])
1661
1662if test "x$have_GL" = "xtrue"; then
1663AC_TRY_RUN([
1664#include <GL/glx.h>
1665int main() { if(0) glXChooseFBConfig(NULL, 0,
1666	NULL, NULL); return 0;}],[],[have_GLX="false"])
1667fi
1668
1669GLX_LIBS=$LIBS
1670
1671LIBS="$OLD_LIBS"
1672
1673if test "x$have_GL" = "xtrue"; then
1674AC_DEFINE(HAVE_GL)
1675
1676if test "x$have_GLX" = "xtrue"; then
1677AC_DEFINE(HAVE_GLX)
1678fi
1679
1680fi
1681
1682AM_CONDITIONAL(HAVE_GL, test x$have_GL = xtrue)
1683AM_CONDITIONAL(HAVE_GLX, test x$have_GLX = xtrue)
1684
1685AC_SUBST(GL_CFLAGS)
1686AC_SUBST(GL_LIBS)
1687AC_SUBST(GLX_CFLAGS)
1688AC_SUBST(GLX_LIBS)
1689
1690])
1691
1692
1693dnl
1694dnl GLU
1695dnl
1696
1697AC_DEFUN([GMERLIN_CHECK_GLU],[
1698AH_TEMPLATE([HAVE_GLU],[GLU available])
1699
1700OLD_CFLAGS=$CFLAGS
1701OLD_LIBS=$LIBS
1702
1703have_GLU="true"
1704AC_SEARCH_LIBS([gluLookAt], [GLU], [], [have_GLU="false"], [])
1705
1706if test "x$have_GLU" = "xtrue"; then
1707AC_TRY_RUN([
1708#include <GL/glu.h>
1709int main() { if(0) gluLookAt(0, 0, 0, 0, 0, 0, 0, 0, 0); return 0;}],[],[have_GLU="false"])
1710fi
1711
1712GLU_CFLAGS=$CFLAGS
1713GLU_LIBS=$LIBS
1714
1715CFLAGS="$OLD_CFLAGS"
1716LIBS="$OLD_LIBS"
1717
1718if test "x$have_GLU" = "xtrue"; then
1719AC_DEFINE(HAVE_GLU)
1720fi
1721
1722AM_CONDITIONAL(HAVE_GLU, test x$have_GLU = xtrue)
1723
1724AC_SUBST(GLU_CFLAGS)
1725AC_SUBST(GLU_LIBS)
1726
1727])
1728
1729dnl
1730dnl inotify
1731dnl
1732
1733AC_DEFUN([GMERLIN_CHECK_INOTIFY],[
1734have_inotify="false"
1735AH_TEMPLATE([HAVE_INOTIFY], [System supports inotify])
1736AC_CHECK_FUNC(inotify_init,have_inotify="true";AC_DEFINE(HAVE_INOTIFY))
1737
1738])
1739
1740dnl
1741dnl Semaphores
1742dnl
1743
1744AC_DEFUN([GMERLIN_CHECK_SEMAPHORES],[
1745AH_TEMPLATE([HAVE_POSIX_SEMAPHORES], [System supports POSIX semaphores])
1746
1747have_posix_semaphores="false"
1748
1749OLD_LIBS=$LIBS
1750LIBS="$LIBS -lpthread"
1751
1752AC_MSG_CHECKING([for POSIX unnamed semaphores]);
1753
1754  AC_TRY_RUN([
1755    #include <semaphore.h>
1756
1757    #include <stdio.h>
1758    main()
1759    {
1760    int result;
1761    sem_t s;
1762    result = sem_init(&s, 0, 0);
1763    if(result)
1764      return -1;
1765    return 0;
1766    }
1767  ],
1768  [
1769    # program could be run
1770    have_posix_semaphores="true"
1771    AC_MSG_RESULT(yes)
1772    AC_DEFINE(HAVE_POSIX_SEMAPHORES)
1773  ],
1774    # program could not be run
1775    AC_MSG_RESULT(no)
1776)
1777
1778LIBS=$OLD_LIBS
1779
1780
1781AM_CONDITIONAL(HAVE_POSIX_SEMAPHORES, test x$have_posix_semaphores = xtrue)
1782
1783])
1784
1785dnl
1786dnl vdpau
1787dnl
1788
1789AC_DEFUN([GMERLIN_CHECK_VDPAU],[
1790
1791AH_TEMPLATE([HAVE_VDPAU], [Enable tiff codec])
1792
1793have_vdpau=false
1794
1795AC_ARG_ENABLE(vdpau,
1796[AC_HELP_STRING([--disable-vdpau],[Disable vdpau (default: autodetect)])],
1797[case "${enableval}" in
1798   yes) test_vdpau=true ;;
1799   no)  test_vdpau=false ;;
1800esac],[test_vdpau=true])
1801
1802if test x$test_vdpau = xtrue; then
1803if test x$have_x = xtrue; then
1804
1805OLD_CFLAGS=$CFLAGS
1806OLD_LIBS=$LIBS
1807
1808LIBS="$LIBS -lvdpau"
1809CFLAGS="$CFLAGS"
1810
1811AC_MSG_CHECKING(for vdpau)
1812AC_TRY_LINK([#include <vdpau/vdpau_x11.h>],
1813            [int i = 0;
1814	     /* We ensure the function is here but never call it */
1815             if(i)
1816	       vdp_device_create_x11((Display*)0, 0,
1817		                     (VdpDevice*)0,
1818				     (VdpGetProcAddress**)0);
1819	       return 0;],
1820             [have_vdpau=true])
1821
1822case $have_vdpau in
1823  true) AC_MSG_RESULT(yes)
1824        VDPAU_LIBS=$LIBS;
1825        VDPAU_CFLAGS=$CFLAGS ;;
1826  false) AC_MSG_RESULT(no); VDPAU_LIBS=""; VDPAU_CFLAGS="";;
1827esac
1828CFLAGS=$OLD_CFLAGS
1829LIBS=$OLD_LIBS
1830
1831fi
1832fi
1833
1834AC_SUBST(VDPAU_CFLAGS)
1835AC_SUBST(VDPAU_LIBS)
1836AC_SUBST(VDPAU_REQUIRED)
1837
1838AM_CONDITIONAL(HAVE_VDPAU, test x$have_vdpau = xtrue)
1839
1840if test x$have_vdpau = xtrue; then
1841AC_DEFINE(HAVE_VDPAU)
1842fi
1843
1844])
1845
1846dnl
1847dnl libshout
1848dnl
1849
1850AC_DEFUN([GMERLIN_CHECK_SHOUT],[
1851
1852AH_TEMPLATE([HAVE_SHOUT],
1853            [Do we have libshout installed?])
1854
1855have_shout="false"
1856
1857SHOUT_REQUIRED="2.2.2"
1858
1859AC_ARG_ENABLE(libshout,
1860[AC_HELP_STRING([--disable-libshout],[Disable libshout (default: autodetect)])],
1861[case "${enableval}" in
1862   yes) test_shout=true ;;
1863   no)  test_shout=false ;;
1864esac],[test_shout=true])
1865
1866if test x$test_shout = xtrue; then
1867
1868PKG_CHECK_MODULES(SHOUT, shout >= $SHOUT_REQUIRED, have_shout="true", have_shout="false")
1869fi
1870
1871AC_SUBST(SHOUT_REQUIRED)
1872AC_SUBST(SHOUT_LIBS)
1873AC_SUBST(SHOUT_CFLAGS)
1874
1875AM_CONDITIONAL(HAVE_SHOUT, test x$have_shout = xtrue)
1876
1877if test "x$have_shout" = "xtrue"; then
1878AC_DEFINE([HAVE_SHOUT])
1879fi
1880
1881])
1882