[configure] use pkg-config for rtmp detection. fixes linking with newer librtmp versions
[vuplus_xbmc] / configure.in
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ(2.59)
5 AC_INIT([xbmc], [13.0.0], [http://issues.xbmc.org])
6 AC_CONFIG_HEADERS([xbmc/config.h])
7 AH_TOP([#pragma once])
8 m4_include([m4/ax_prog_cc_for_build.m4])
9 m4_include([m4/ax_prog_cxx_for_build.m4])
10 m4_include([m4/ax_python_devel.m4])
11 m4_include([m4/xbmc_arch.m4])
12
13 AC_CONFIG_AUX_DIR([build-aux])
14 AM_INIT_AUTOMAKE([foreign])
15 AC_CANONICAL_HOST
16
17 tolower(){
18   echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
19 }
20
21 # workaround for autotools that don't set this
22 abs_top_srcdir=${abs_top_srcdir=$(cd $srcdir; pwd)}
23
24 # check for enabling additional players
25 AC_DEFUN([XB_ADD_PLAYER],
26 [
27   AC_MSG_CHECKING([for $2])
28   case $add_players in
29     *$2*)
30       AC_SUBST([USE_$1], 1)
31       AC_DEFINE([HAS_$1], 1, [using $2])
32       AC_MSG_RESULT([enabling $2])
33       ;;
34     *)
35       AC_MSG_RESULT([$2 is not enabled])
36   esac
37 ])
38
39 # check for enabling additional codecs
40 AC_DEFUN([XB_ADD_CODEC],
41 [
42   AC_MSG_CHECKING([for $2])
43   case $3 in
44     *$2*)
45       use_codec_$2="yes"
46       AC_SUBST([USE_$1], 1)
47       AC_DEFINE([HAS_$1], 1, [using $2])
48       AC_MSG_RESULT([enabling $2])
49       ;;
50     *)
51       AC_MSG_RESULT([$2 is not enabled])
52   esac
53 ])
54
55 # check for library basenames
56 AC_DEFUN([XB_FIND_SONAME],
57 [
58   if echo "$host" | grep -q freebsd ; then
59     AC_MSG_CHECKING([for lib$2 soname])
60     $1_SONAME=[`ldconfig -r | sed -n "s;.* \(/.*lib$2\.so.*\)$;\1;p" | head -n 1`]
61     if test x$$1_SONAME != x ; then
62       $1_SONAME=[`basename $$1_SONAME`]
63     fi
64   elif [[ "$host_vendor" != "apple" ]]; then
65     AC_MSG_CHECKING([for lib$2 soname])
66     $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/dev/null | grep "^LOAD.*$2" | awk '{V=2; print $V}')
67     if [[ -z $$1_FILENAME ]]; then
68       #try gold linker syntax
69       $1_FILENAME=$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-t 3>&1 1>&2 2>&3 | grep "lib$2")
70     fi
71     if [[ ! -z $$1_FILENAME ]]; then
72       $1_SONAME=$($OBJDUMP -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
73     fi
74   else
75     AC_MSG_CHECKING([for lib$2 dylib])
76     gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
77     env_lib_path=[`echo $LDFLAGS | sed 's/-L[ ]*//g'`]
78     if test "$cross_compiling" = yes; then
79       host_lib_path=""
80     else
81       host_lib_path="/usr/lib /usr/local/lib"
82     fi
83     for path in $gcc_lib_path $env_lib_path $host_lib_path; do
84       lib=[`ls -- $path/lib$2.dylib 2>/dev/null`]
85       if test x$lib != x; then
86         # we want the path/name that is embedded in the dylib 
87         $1_SONAME=[`otool -L $lib | grep -v lib$2.dylib | grep lib$2 | awk '{V=1; print $V}'`]
88         $1_SONAME=[`basename $$1_SONAME`]
89       fi
90     done
91   fi
92   if [[ -z "$$1_SONAME" ]]; then
93     AC_MSG_RESULT([no])
94     if test -z "$3" || test "x${$3}" = "xyes"; then
95       AC_MSG_ERROR([Unable to determine soname of lib$2 library])
96     else
97       AC_MSG_WARN([Unable to determine soname of lib$2 library])
98       $3=no
99       AC_MSG_WARN([lib$2 support disabled])
100     fi
101   else
102     AC_MSG_RESULT([$$1_SONAME])
103     AC_SUBST($1_SONAME)
104   fi
105 ])
106
107 # Function to push and pop libs and includes for a command
108 AC_DEFUN([XB_PUSH_FLAGS], [
109   SAVE_LIBS="$LIBS"
110   SAVE_INCLUDES="$INCLUDES"
111   LIBS="[$2]"
112   INCLUDES="[$1]"
113   [$3]
114   LIBS="$SAVE_LIBS"
115   INCLUDES="$SAVE_INCLUDES"
116 ])
117
118 # General message strings
119 configure_debug="ERROR: this is a configure debug statement"
120 missing_library="Could not find a required library. Please see the README for your platform."
121 missing_headers="Could not find some required headers. Please see the README for your platform."
122 missing_program="Could not find a required program. Please see the README for your platform."
123 xrandr_not_found="== Could not find libXRandR. SDL will be used for resolution support. =="
124 xrandr_disabled="== XRandR support disabled. SDL will be used for resolution support. =="
125 waveform_enabled="== WAVEFORM enabled =="
126 waveform_disabled="== WAVEFORM disabled =="
127 spectrum_enabled="== SPECTRUM enabled =="
128 spectrum_disabled="== SPECTRUM disabled =="
129 goom_enabled="== GOOM enabled. =="
130 goom_disabled="== GOOM disabled. =="
131 alsa_disabled="== ALSA support disabled. =="
132 rsxs_enabled="== RSXS enabled. =="
133 rsxs_disabled="== RSXS disabled. =="
134 fishbmc_enabled="== FishBMC enabled. =="
135 fishbmc_disabled="== FishBMC disabled. =="
136 projectm_enabled="== ProjectM enabled. =="
137 projectm_disabled="== ProjectM disabled. =="
138 wayland_enabled="== Wayland enabled. =="
139 wayland_disabled="== Wayland disabled. =="
140 x11_enabled="== X11 enabled. =="
141 x11_disabled="== X11 disabled. =="
142 pulse_not_found="== Could not find libpulse. PulseAudio support disabled. =="
143 pulse_disabled="== PulseAudio support disabled. =="
144 dvdcss_enabled="== DVDCSS support enabled. =="
145 dvdcss_disabled="== DVDCSS support disabled. =="
146 hal_not_found="== Could not find hal. HAL support disabled. =="
147 halstorage_not_found="== Could not find hal-storage. HAL support disabled. =="
148 hal_disabled="== HAL support disabled. =="
149 avahi_not_found="== Could not find libavahi-common or libavahi-client. Avahi support disabled. =="
150 avahi_disabled="== Avahi support disabled. =="
151 mdnsembedded_not_found="== Could not find mDNSEmbedded. Might prevent zeroconf support. =="
152 mdnsembedded_disabled="== mDNSEmbedded support disabled. =="
153 vdpau_not_found="== Could not find libvdpau. VDPAU support disabled. =="
154 vdpau_disabled="== VDPAU support manually disabled. =="
155 vaapi_not_found="== Could not find libva. VAAPI support disabled. =="
156 vaapi_disabled="== VAAPI support manually disabled. =="
157 crystalhd_not_found="== Could not find libcrystalhd. CrystalHD support disabled. =="
158 crystalhd_disabled="== CrystalHD support manually disabled. =="
159 vtbdecoder_enabled="== VTBDecoder support enabled. =="
160 vtbdecoder_disabled="== VTBDecoder support manually disabled. =="
161 openmax_disabled="== OpenMax support manually disabled. =="
162 openmax_not_found="== Could not find libnvomx. OpenMax support disabled. =="
163 ssh_not_found="== Could not find libssh. =="
164 ssh_disabled="== SSH SFTP disabled. =="
165 librtmp_not_found="== Could not find libRTMP. RTMP support disabled. =="
166 librtmp_disabled="== RTMP support disabled. =="
167 libnfs_not_found="== Could not find libnfs. NFS client support disabled. =="
168 libnfs_disabled="== NFS support disabled. =="
169 libafpclient_not_found="== Could not find libafpclient. AFP client support disabled. =="
170 libafpclient_disabled="== AFP support disabled. =="
171 libshairport_not_found="== Could not find libshairport. =="
172 libshairplay_not_found="== Could not find libshairplay. =="
173 samba_disabled="== SAMBA support disabled. =="
174 libplist_not_found="== Could not find libplist. AirPlay support disabled. =="
175 libplist_disabled="== AirPlay support disabled. =="
176 alsa_not_found="== Could not find ALSA. ALSA support disabled. =="
177 dbus_not_found="== Could not find DBUS. DBUS support disabled. =="
178 libcap_disabled="== Capabilities detection support disabled. =="
179 libcap_not_found="== Could not find libcap. Capabilities detection support disabled. =="
180 gtest_enabled="== Google Test Framework will be configured. =="
181 gtest_disabled="== Google Test Framework will not be configured. =="
182
183 libudev_not_found="== Could not find libudev. Will use polling to check for device changes. =="
184 libudev_disabled="== udev support disabled. Will use polling to check for device changes. =="
185 libusb_not_found="== Could not find libusb. Plug and play USB device support will not be available. =="
186 libusb_disabled="== libusb disabled. Plug and play USB device support will not be available. =="
187 libusb_disabled_udev_found="== libusb disabled. =="
188 libcec_enabled="== libcec enabled. =="
189 libcec_disabled="== libcec disabled. CEC adapter support will not be available. =="
190
191 # External library message strings
192 external_libraries_enabled="== Use of all supported external libraries enabled. =="
193 external_libraries_disabled="== Use of all supported external libraries disabled. =="
194 dashes="------------------------"
195 final_message="\n  XBMC Configuration:"
196 final_message="\n$dashes$final_message\n$dashes"
197
198 AC_ARG_ENABLE([shared-lib],
199   [AS_HELP_STRING([--enable-shared-lib],
200   [build libxbmc. helpful for tests (default is no)])],
201   [build_shared_lib=$enableval],
202   [build_shared_lib=no])
203
204 AC_ARG_ENABLE([debug],
205   [AS_HELP_STRING([--enable-debug],
206   [enable debugging information (default is yes)])],
207   [use_debug=$enableval],
208   [use_debug=yes])
209
210 AC_ARG_WITH([arch],
211   [AS_HELP_STRING([--with-arch],
212   [build with given arch passing to internal ffmpeg (default is no, needed for crosscompiling)])],
213   [use_arch=$withval],
214   [use_arch=no])
215
216 AC_ARG_WITH([platform],
217   [AS_HELP_STRING([--with-platform],
218   [use a pre-configured config for common arm boards])],
219   [use_platform=$withval],
220   [use_platform=none])
221
222 AC_ARG_WITH([cpu],
223   [AS_HELP_STRING([--with-cpu],
224   [build with given cpu passing to ffmpeg (default is no)])],
225   [use_cpu=$withval],
226   [use_cpu=no])
227
228 AC_ARG_ENABLE([neon],
229   [AS_HELP_STRING([--enable-neon],
230   [enable neon passing to ffmpeg (default is no)])],
231   [use_neon=$enableval],
232   [use_neon=no])
233
234 AC_ARG_ENABLE([optimizations],
235   [AS_HELP_STRING([--enable-optimizations],
236   [enable optimization (default is yes)])],
237   [use_optimizations=$enableval],
238   [use_optimizations=yes])
239
240 AC_ARG_ENABLE([gl],
241   [AS_HELP_STRING([--enable-gl],
242   [enable OpenGL rendering (default is yes)])],
243   [use_gl=$enableval],
244   [use_gl=yes])
245
246 AC_ARG_ENABLE([gles],
247   [AS_HELP_STRING([--enable-gles],
248   [enable OpenGLES rendering (default is no)])],
249   [use_gles=$enableval],
250   [use_gles=no])
251
252 AC_ARG_ENABLE([sdl],
253   [AS_HELP_STRING([--enable-sdl],
254   [enable SDL (default is auto)])],
255   [use_sdl=$enableval],
256   [use_sdl=auto])
257
258 AC_ARG_ENABLE([vdpau],
259   [AS_HELP_STRING([--enable-vdpau],
260   [enable VDPAU decoding (default is auto)])],
261   [use_vdpau=$enableval],
262   [use_vdpau=auto])
263
264 AC_ARG_ENABLE([vaapi],
265   [AS_HELP_STRING([--enable-vaapi],
266   [enable VAAPI decoding (default is auto)])],
267   [use_vaapi=$enableval],
268   [use_vaapi=auto])
269
270 AC_ARG_ENABLE([crystalhd],
271   [AS_HELP_STRING([--enable-crystalhd],
272   [enable CrystalHD decoding (default is auto)])],
273   [use_crystalhd=$enableval],
274   [use_crystalhd=auto])
275
276 AC_ARG_ENABLE([vtbdecoder],
277   [AS_HELP_STRING([--enable-vtbdecoder],
278   [enable VTBDecoder decoding (default is auto)])],
279   [use_vtbdecoder=$enableval],
280   [use_vtbdecoder=auto])
281
282 AC_ARG_ENABLE([openmax],
283   [AS_HELP_STRING([--enable-openmax],
284   [enable OpenMax decoding (default is auto, requires OpenGLES)])],
285   [use_openmax=$enableval],
286   [use_openmax=auto])
287
288 AC_ARG_ENABLE([tegra],
289   [AS_HELP_STRING([--enable-tegra],
290   [enable Tegra2 arm (default is no)])],
291   [use_tegra=$enableval],
292   [use_tegra=no])
293
294 AC_ARG_ENABLE([profiling],
295   [AS_HELP_STRING([--enable-profiling],
296   [enable gprof profiling (default is no)])],
297   [use_profiling=$enableval],
298   [use_profiling=no])
299
300 AC_ARG_ENABLE([joystick],
301   [AS_HELP_STRING([--enable-joystick],
302   [enable SDL joystick support (default is yes)])],
303   [use_joystick=$enableval],
304   [use_joystick=yes])
305
306 AC_ARG_ENABLE([xrandr],
307   [AS_HELP_STRING([--enable-xrandr],
308   [enable XRandR support (default is yes)])],
309   [use_xrandr=$enableval],
310   [use_xrandr=yes])
311
312 AC_ARG_ENABLE([waveform],
313   [AS_HELP_STRING([--enable-waveform],
314   [enable Waveform visualisation (default is yes)])],
315   [use_waveform=$enableval],
316   [use_waveform=yes])
317
318 AC_ARG_ENABLE([spectrum],
319   [AS_HELP_STRING([--enable-spectrum],
320   [enable Spectrum visualisation (default is yes)])],
321   [use_spectrum=$enableval],
322   [use_spectrum=yes])
323
324 AC_ARG_ENABLE([goom],
325   [AS_HELP_STRING([--enable-goom],
326   [enable GOOM visualisation (default is no)])],
327   [use_goom=$enableval],
328   [use_goom=no])
329
330 AC_ARG_ENABLE([rsxs],
331   [AS_HELP_STRING([--enable-rsxs],
332   [enable really slick X screensavers (default is yes)])],
333   [use_rsxs=$enableval],
334   [use_rsxs=yes])
335
336 AC_ARG_ENABLE([fishbmc],
337   [AS_HELP_STRING([--enable-fishbmc],
338   [enable FishBMC visualisation (default is yes)])],
339   [use_fishbmc=$enableval],
340   [use_fishbmc=yes])
341
342 AC_ARG_ENABLE([projectm],
343   [AS_HELP_STRING([--enable-projectm],
344   [enable ProjectM visualisation (default is yes)])],
345   [use_projectm=$enableval],
346   [use_projectm=yes])
347
348 AC_ARG_ENABLE([wayland],
349   [AS_HELP_STRING([--enable-wayland],
350   [enable wayland (default is no) 'Linux Only'])],
351   [use_wayland=$enableval],
352   [use_wayland=no])
353
354 AC_ARG_ENABLE([x11],
355   [AS_HELP_STRING([--enable-x11],
356   [enable x11 (default is yes) 'Linux Only'])],
357   [use_x11=$enableval],
358   [use_x11=yes])
359
360 AC_ARG_ENABLE([ccache],
361   [AS_HELP_STRING([--enable-ccache],
362   [enable building with ccache feature (default is auto)])],
363   [use_ccache=$enableval],
364   [use_ccache=auto])
365
366 AC_ARG_ENABLE([alsa],
367   [AS_HELP_STRING([--disable-alsa],
368   [disable ALSA support (only for linux/freebsd)])],
369   [use_alsa=$enableval],
370   [use_alsa=yes])
371
372 AC_ARG_ENABLE([pulse],
373   [AS_HELP_STRING([--enable-pulse],
374   [enable PulseAudio support (default is auto)])],
375   [use_pulse=$enableval],
376   [use_pulse=auto])
377
378 AC_ARG_ENABLE([ssh],
379   [AS_HELP_STRING([--disable-ssh],
380   [disable SSH SFTP support (default is enabled)])],
381   [use_ssh=$enableval],
382   [use_ssh=yes])
383
384 AC_ARG_ENABLE([rtmp],
385   [AS_HELP_STRING([--enable-rtmp],
386   [enable RTMP support via librtmp (default is auto)])],
387   [use_librtmp=$enableval],
388   [use_librtmp=auto])
389
390 AC_ARG_ENABLE([samba],
391   [AS_HELP_STRING([--disable-samba],
392   [disable SAMBA support (default is enabled)])],
393   [use_samba=$enableval],
394   [use_samba=yes])
395
396 AC_ARG_ENABLE([nfs],
397   [AS_HELP_STRING([--enable-nfs],
398   [enable NFS support via libnfs (default is auto)])],
399   [use_libnfs=$enableval],
400   [use_libnfs=auto])
401
402 AC_ARG_ENABLE([afpclient],
403   [AS_HELP_STRING([--enable-afpclient],
404   [enable AFP support via libafpclient (default is auto)])],
405   [use_libafpclient=$enableval],
406   [use_libafpclient=auto])
407
408 AC_ARG_ENABLE([airplay],
409   [AS_HELP_STRING([--enable-airplay],
410   [enable AirPlay support(default is auto)])],
411   [use_airplay=$enableval],
412   [use_airplay=auto])
413
414 AC_ARG_ENABLE([airtunes],
415   [AS_HELP_STRING([--enable-airtunes],
416   [enable AirTunes support(default is auto)])],
417   [use_airtunes=$enableval],
418   [use_airtunes=auto])
419
420 AC_ARG_ENABLE([upnp],
421   [AS_HELP_STRING([--disable-upnp],
422   [disable UPnP support (default is enabled)])],
423   [use_upnp=$enableval],
424   [use_upnp=yes])
425
426 AC_ARG_ENABLE([ffmpeg_libvorbis],
427   [AS_HELP_STRING([--enable-ffmpeg-libvorbis],
428   [enable FFmpeg vorbis encoding (default is no)])],
429   [use_ffmpeg_libvorbis=$enableval],
430   [use_ffmpeg_libvorbis=no])
431
432 AC_ARG_ENABLE([dvdcss],
433   [AS_HELP_STRING([--enable-dvdcss],
434   [enable DVDCSS support (default is yes)])],
435   [use_dvdcss=$enableval],
436   [use_dvdcss=yes])
437
438 AC_ARG_ENABLE([mid],
439   [AS_HELP_STRING([--enable-mid],
440   [enable MID support (default is no)])],
441   [use_mid=$enableval],
442   [use_mid=no])
443
444 AC_ARG_ENABLE([hal],
445   [AS_HELP_STRING([--disable-hal],
446   [disable HAL support (default is enabled if hal and hal-storage is found)])],
447   [use_hal=$enableval],
448   [use_hal=yes])
449
450 AC_ARG_ENABLE([avahi],
451   [AS_HELP_STRING([--disable-avahi],
452   [disable Avahi support (default is enabled if libavahi-common and libavahi-client is found)])],
453   [use_avahi=$enableval],
454   [use_avahi=yes])
455   
456   AC_ARG_ENABLE([mdnsembedded],
457   [AS_HELP_STRING([--disable-mdnsembedded],
458   [disable mDNSEmbedded support (default is auto)])],
459   [use_mdnsembedded=$enableval],
460   [use_mdnsembedded=auto])
461
462 AC_ARG_ENABLE([non-free],
463   [AS_HELP_STRING([--disable-non-free],
464   [disable componentents with non-compliant licenses])],
465   [use_nonfree=$enableval],
466   [use_nonfree=yes])
467
468 AC_ARG_ENABLE([asap-codec],
469   [AS_HELP_STRING([--enable-asap-codec],
470   [enable ASAP ADPCM support])],
471   [use_asap=$enableval],
472   [use_asap=no])
473
474 AC_ARG_ENABLE([mysql],
475   [AS_HELP_STRING([--disable-mysql],
476   [disable mysql])],
477   [use_mysql=$enableval],
478   [use_mysql=yes])
479
480 AC_ARG_ENABLE([webserver],
481   [AS_HELP_STRING([--disable-webserver],
482   [disable webserver])],
483   [use_webserver=$enableval],
484   [use_webserver=yes])
485
486 AC_ARG_ENABLE([optical-drive],
487   [AS_HELP_STRING([--disable-optical-drive],
488   [disable optical drive])],
489   [use_optical_drive=$enableval],
490   [use_optical_drive=yes])
491
492 AC_ARG_ENABLE([libbluray],
493   [AS_HELP_STRING([--enable-libbluray],
494   [enable libbluray support])],
495   [use_libbluray=$enableval],
496   [use_libbluray=auto])
497
498 AC_ARG_ENABLE([texturepacker],
499   [AS_HELP_STRING([--enable-texturepacker],
500   [enable texturepacker support (default is yes)])],
501   [use_texturepacker=$enableval],
502   [use_texturepacker=auto])
503
504 AC_ARG_WITH([lirc-device],
505   [AS_HELP_STRING([--with-lirc-device=file],
506   [specify the default LIRC device (default is /dev/lircd)])],
507   [lirc_device=$withval],
508   [lirc_device=/dev/lircd])
509 AC_DEFINE_UNQUOTED([LIRC_DEVICE], ["$lirc_device"], [Default LIRC device])
510
511 AC_ARG_ENABLE([udev],
512   [AS_HELP_STRING([--enable-udev],
513   [enable udev support (default is auto)])],
514   [use_libudev=$enableval],
515   [use_libudev=auto])
516
517 AC_ARG_ENABLE([libusb],
518   [AS_HELP_STRING([--enable-libusb],
519   [enable libusb support (default is auto)])],
520   [use_libusb=$enableval],
521   [use_libusb=auto])
522
523 AC_ARG_ENABLE([libcec],
524   [AS_HELP_STRING([--enable-libcec],
525   [enable libcec support (default is auto)])],
526   [use_libcec=$enableval],
527   [use_libcec=auto])
528
529 AC_ARG_ENABLE([libmp3lame],
530   [AS_HELP_STRING([--enable-libmp3lame],
531   [enable lame mp3 encoder support (default is auto)])],
532   [use_libmp3lame=$enableval],
533   [use_libmp3lame=auto])
534
535 AC_ARG_ENABLE([libvorbisenc],
536   [AS_HELP_STRING([--enable-libvorbisenc],
537   [enable vorbis encoder support (default is auto)])],
538   [use_libvorbisenc=$enableval],
539   [use_libvorbisenc=auto])
540
541 AC_ARG_ENABLE([libcap],
542   [AS_HELP_STRING([--enable-libcap],
543   [enable libcap support (default is auto)])],
544   [use_libcap=$enableval],
545   [use_libcap=auto])
546
547 AC_ARG_ENABLE([player],
548   [AS_HELP_STRING([--enable-player],
549   [enable additional players from a list of comma separated names, (default is none, choices are omxplayer)])],
550   [add_players=$enableval],
551   [add_players=no])
552
553 AC_ARG_ENABLE([gtest],
554   [AS_HELP_STRING([--enable-gtest],
555   [configure Google Test Framework (default is no)])],
556   [configure_gtest=$enableval],
557   [configure_gtest=no])
558
559 AC_ARG_ENABLE([codec],
560   [AS_HELP_STRING([--enable-codec],
561   [enable additional codecs from a list of comma separated names, (default is none, choices are amcodec, libstagefright)])],
562   [add_codecs=$enableval],
563   [add_codecs=no])
564
565 ### External libraries options
566 AC_ARG_ENABLE([external-libraries],
567   [AS_HELP_STRING([--enable-external-libraries],
568   [enable use of all supported external libraries (default is no) 'Linux only'])],
569   [use_external_libraries=$enableval],
570   [use_external_libraries=no])
571
572 AC_ARG_ENABLE([libav-compat],
573   [AS_HELP_STRING([--enable-libav-compat],
574   [build a wrapper around libav to provide the functions needed by XBMC. This is
575    *not* supported by XBMC developers and is provided only for convenience. (default is no) 'Linux only'])],
576   [use_libav_hacks=$enableval],
577   [use_libav_hacks=no])
578
579 ### End of external library options
580
581 if test "x$host_vendor" != "xapple"; then
582   DEFAULT_COMPILE_FLAGS="-fPIC -DPIC -D_REENTRANT"
583   DEFAULT_COMPILE_FLAGS="$DEFAULT_COMPILE_FLAGS -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
584 fi
585
586 # Checks for programs.
587 PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values
588 AC_PROG_CC
589 AX_PROG_CC_FOR_BUILD
590 CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS"
591 PASSED_CXXFLAGS=$CXXFLAGS # Hack to override autoconf default values
592 AC_PROG_CXX
593 AX_PROG_CXX_FOR_BUILD
594 CXXFLAGS="$PASSED_CXXFLAGS $DEFAULT_COMPILE_FLAGS"
595 AC_PROG_LIBTOOL
596 AC_PROG_AWK
597 AC_PROG_LN_S
598 AC_PROG_MAKE_SET
599 PKG_PROG_PKG_CONFIG
600 MAKE="${MAKE:-make}"
601 OBJDUMP="${OBJDUMP:-objdump}"
602
603 use_external_ffmpeg=no
604 use_static_ffmpeg=no
605
606 # ffmpeg needs the output of uname -s (e.x. linux, darwin) for the target_os
607 # there is no autoconf variable which will give
608 # the correct output format when doing cross compilation
609 # so we have to use our own var here
610 # defaults to the build side target_os
611 # and should be overridden for cross below (see android)
612 ffmpeg_target_os=$(tolower $(uname -s))
613
614 # host detection and setup
615 case $host in
616   i*86*-linux-android*)
617      target_platform=target_android
618      ARCH="i486-linux"
619      use_arch="x86"
620      use_cpu="i686"
621      ffmpeg_target_os=linux
622      use_joystick=no
623      use_gles=yes
624      use_optical_drive=no
625      use_sdl=no
626      use_x11=no
627      build_shared_lib=yes    
628      ;;
629   i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
630      ARCH="i486-linux"
631      if test "$use_cpu" = "no" -a "$cross_compiling" = "yes";  then
632         use_arch="x86"
633         use_cpu="i686"
634      fi
635      use_static_ffmpeg=yes
636      ;;
637   x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
638      ARCH="x86_64-linux"
639      if test "$use_cpu" = "no" -a "$cross_compiling" = "yes";  then
640         use_arch="x86_64"
641         use_cpu="x86_64"
642      fi
643      use_static_ffmpeg=yes
644      ;;
645   i386-*-freebsd*)
646      ARCH="x86-freebsd"
647      MAKE="gmake"
648      ;;
649   amd64-*-freebsd*)
650      ARCH="x86_64-freebsd"
651      MAKE="gmake"
652      ;;
653   arm-apple-darwin*)
654      use_joystick=no
655      use_neon=yes
656      use_libcec=no
657      use_crystalhd=no
658      use_vtbdecoder=yes
659      use_optical_drive=no
660      use_dvdcss=no
661      use_gles=yes
662      use_cpu=cortex-a8
663      ARCH="arm-osx"
664      use_arch="arm"
665      PYTHON_VERSION="2.6"
666      PYTHON_LDFLAGS="-L${prefix}/lib -lpython2.6"
667      PYTHON_CPPFLAGS="-I${prefix}/include/python2.6"
668      PYTHON_SITE_PKG="${prefix}/lib/python2.6/site-packages"
669      PYTHON_NOVERSIONCHECK="no-check"
670      ;;
671   *86*-apple-darwin*)
672      use_joystick=no
673      use_vtbdecoder=no
674      ARCH="x86-osx"
675      ;;
676   powerpc-apple-darwin*)
677      use_joystick=no
678      use_vtbdecoder=no
679      use_crystalhd=no
680      ARCH="powerpc-osx"
681      use_arch="ppc"
682      ;;
683   powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
684      ARCH="powerpc-linux"
685      ;;
686   powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
687      ARCH="powerpc64-linux"
688      ;;
689   arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
690      ARCH="arm"
691      use_arch="arm"
692      ffmpeg_target_os=linux
693      use_joystick=no
694      use_neon=yes
695      use_gles=yes
696      use_sdl=no
697      use_x11=no
698      use_wayland=no
699      use_static_ffmpeg=yes
700      ;;
701   arm*-*linux-android*)
702      target_platform=target_android
703      use_arch="arm"
704      use_cpu=cortex-a9
705      ARCH="arm"
706      ffmpeg_target_os=linux
707      use_joystick=no
708      use_neon=yes
709      use_gles=yes
710      use_optical_drive=no
711      use_sdl=no
712      use_x11=no
713      use_wayland=no
714      build_shared_lib=yes
715      ;;
716   *)
717      AC_MSG_ERROR(unsupported host ($host))
718 esac
719 AC_SUBST([ARCH])
720
721 check_sdl_arch=[`file $NATIVE_ROOT/lib/libSDL_image.dylib | awk '{print $NF}'`]
722 if test "x$check_sdl_arch" = "xi386" ; then
723   DARWIN_NATIVE_ARCH=-m32
724 elif test "x$check_sdl_arch" = "xx86_64" ; then
725   DARWIN_NATIVE_ARCH=-m64
726 fi
727 AC_SUBST([DARWIN_NATIVE_ARCH])
728
729 if test "$target_platform" = "target_android" ; then
730   USE_ANDROID=1
731   webserver_checkdepends=yes
732   CFLAGS="$CFLAGS -Wno-psabi"
733   DROID_DVDLIB_SEEK64="-D_FILE_OFFSET_BITS=64 -D_OFF_T_DEFINED_ -Doff_t=off64_t -Dlseek=lseek64"
734   CXXFLAGS="$CXXFLAGS -Wno-psabi"
735   AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
736 fi
737
738 case $use_platform in
739   raspberry-pi)
740      target_platform=target_raspberry_pi
741      use_neon=no
742      use_arch="arm"
743      use_cpu=arm1176jzf-s
744      use_hardcoded_tables="yes"
745      use_alsa="no"
746      ARCH="arm"
747      AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
748      USE_OMXLIB=1; AC_DEFINE([HAVE_OMXLIB],[1],["Define to 1 if OMX libs is enabled"])
749      CFLAGS="$CFLAGS"
750      CXXFLAGS="$CXXFLAGS"
751      ffmpeg_target_os=linux
752      ;;
753 esac
754
755 XBMC_SETUP_ARCH_DEFINES()
756
757 # check for GIT_REV
758 AC_CHECK_PROG(HAVE_GIT,git,"yes","no",)
759 if test "$GIT_REV" = ""; then
760   if test -f VERSION ; then
761     GIT_REV=$(awk 'END{print substr($1,1,16)}' VERSION)
762   elif test "$HAVE_GIT" = "yes" -a -d ${abs_top_srcdir}/.git; then
763     GIT_REV=$(git --no-pager log --abbrev=7 -n 1 --pretty=format:"%h %ci" HEAD | awk '{gsub("-", "");print $2"-"$1}')
764   else
765     GIT_REV="Unknown"
766   fi
767 fi
768 final_message="$final_message\n  git Rev.:\t${GIT_REV}"
769
770 if test "$host_vendor" = "apple"; then
771   echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h
772 else
773   SDL_DEFINES="$SDL_DEFINES -D'GIT_REV=\"$GIT_REV\"'"
774 fi
775
776 if test "$build_shared_lib" = "yes"; then
777   final_message="$final_message\n Shared lib\tYes"
778   AC_SUBST(USE_LIBXBMC,1)
779 fi
780
781
782 # platform debug flags
783 if test "$use_debug" = "yes"; then
784   final_message="$final_message\n  Debugging:\tYes"
785   if test "$use_profiling" = "yes"; then
786     final_message="$final_message\n  Profiling:\tYes"
787     DEBUG_FLAGS="-g -pg -D_DEBUG -Wall"
788   else
789     final_message="$final_message\n  Profiling:\tNo"
790     DEBUG_FLAGS="-g -D_DEBUG -Wall"
791   fi
792 else
793   final_message="$final_message\n  Debugging:\tNo"
794   if test "$use_profiling" = "yes"; then
795     final_message="$final_message\n  Profiling:\tYes"
796     DEBUG_FLAGS="-pg -DNDEBUG=1"
797   else
798     final_message="$final_message\n  Profiling:\tNo"
799     DEBUG_FLAGS="-DNDEBUG=1"
800   fi
801 fi
802 CFLAGS="$CFLAGS $DEBUG_FLAGS"
803 CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS"
804
805
806 if test "$use_optimizations" = "yes"; then
807   final_message="$final_message\n  Optimization:\tYes"
808   if test "$target_platform" = "target_raspberry_pi"; then
809     CXXFLAGS="$CXXFLAGS"
810     CFLAGS="$CFLAGS"
811   else
812     CXXFLAGS="-O2 $CXXFLAGS"
813     CFLAGS="-O2 $CFLAGS"
814   fi
815 else
816   final_message="$final_message\n  Optimization:\tNo"
817 fi
818
819
820 # platform specific flags
821 if echo "$ARCH" | grep -q "freebsd" ; then
822   LOCALBASE="${LOCALBASE:-/usr/local}"
823   CFLAGS="$CFLAGS -I$LOCALBASE/include"
824   CXXFLAGS="$CXXFLAGS -I$LOCALBASE/include"
825   CPPFLAGS="$CPPFLAGS -I$LOCALBASE/include"
826   LDFLAGS="$LDFLAGS -L$LOCALBASE/lib"
827   FFMPEG_EXTRACFLAGS="-I$LOCALBASE/include"
828 fi
829 if test "$host_vendor" = "apple" ; then
830   # standard xbmc paths
831   INCLUDES="$INCLUDES -I\$(abs_top_srcdir)/xbmc/osx"
832   if test "$use_arch" != "arm"; then
833     LIBS="$LIBS -framework ApplicationServices"
834     LIBS="$LIBS -framework AudioUnit"
835     LIBS="$LIBS -framework AudioToolbox"
836     LIBS="$LIBS -framework Cocoa"
837     LIBS="$LIBS -framework CoreAudio"
838     LIBS="$LIBS -framework CoreVideo"
839     LIBS="$LIBS -framework CoreServices"
840     LIBS="$LIBS -framework CoreFoundation"
841     LIBS="$LIBS -framework DiskArbitration"
842     LIBS="$LIBS -framework IOKit"
843     LIBS="$LIBS -framework IOSurface"
844     LIBS="$LIBS -framework QuartzCore"
845     LIBS="$LIBS -framework SystemConfiguration"
846     LIBS="$LIBS -framework VideoDecodeAcceleration"
847   fi
848   USE_EXTERNAL_FFMPEG=1
849 elif test "$target_platform" = "target_raspberry_pi"; then
850   ARCH="arm"
851   use_arch="arm"
852 elif test "$use_arch" = "arm"; then
853   CFLAGS="$CFLAGS -mno-apcs-stack-check"
854   CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check"
855   FFMPEG_EXTRACFLAGS=""
856   if test "$use_tegra" = "yes"; then
857     # Compile for ARMv7a architecture, need to test gcc for vfpv3-d16 support 
858     SAVE_CFLAGS="$CFLAGS"
859     CFLAGS="-mfpu=vfpv3-d16"
860     AC_COMPILE_IFELSE(
861       [AC_LANG_SOURCE([int foo;])],
862       [ CFLAGS="$SAVE_CFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork"
863         CXXFLAGS="$CXXFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork"
864         FFMPEG_EXTRACFLAGS="$FFMPEG_EXTRACFLAGS -mtune=cortex-a9 -mfpu=vfpv3-d16"
865         use_cpu=cortex-a9],
866       [ CFLAGS="$SAVE_CFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork"
867         CXXFLAGS="$CXXFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork"    
868         use_cpu=cortex-a8])
869   else
870     if test "$use_neon" = "yes"; then 
871       CFLAGS="$CFLAGS -mfpu=neon -mvectorize-with-neon-quad"
872       CXXFLAGS="$CXXFLAGS -mfpu=neon -mvectorize-with-neon-quad"
873       FFMPEG_EXTRACFLAGS="$FFMPEG_EXTRACFLAGS -mfpu=neon"
874     fi
875   fi
876 fi
877 if test "$use_static_ffmpeg" = "yes"; then
878   USE_STATIC_FFMPEG=1
879   AC_DEFINE([USE_STATIC_FFMPEG], [1], [link ffmpeg statically])
880   # ffmpeg may depend on gnutls and vorbisenc, we add those libs at the end of linker
881   # command in order to resolve any missing symbols
882   GNUTLS_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors gnutls`
883   VORBISENC_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors vorbisenc`
884 fi 
885
886 # Checks for library functions.
887 AC_FUNC_ALLOCA
888 AC_FUNC_CHOWN
889 AC_FUNC_CLOSEDIR_VOID
890 AC_FUNC_ERROR_AT_LINE
891 AC_FUNC_FSEEKO
892 AC_PROG_GCC_TRADITIONAL
893 AC_FUNC_LSTAT
894 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
895 AC_FUNC_MEMCMP
896 AC_FUNC_MKTIME
897 AC_FUNC_MMAP
898 # Boxee is apparently having compile problems
899 # if HAVE_REALLOC is defined.  Sort this later.
900 #AC_FUNC_REALLOC
901 AC_FUNC_SELECT_ARGTYPES
902 AC_FUNC_SETVBUF_REVERSED
903 AC_TYPE_SIGNAL
904 AC_FUNC_STAT
905 AC_FUNC_STRCOLL
906 AC_FUNC_STRFTIME
907 AC_FUNC_STRTOD
908 AC_FUNC_UTIME_NULL
909 AC_FUNC_VPRINTF
910 AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise])
911
912 # Check for various sizes
913 AC_CHECK_SIZEOF([int])
914 AC_CHECK_SIZEOF([size_t])
915
916 # Check for intrinsics
917 AC_MSG_CHECKING([for __sync_add_and_fetch(temp, 1)])
918 AC_TRY_LINK([],[long* temp=0; long ret=__sync_add_and_fetch(temp, 1);],
919                 [have_builtin_sync_add_and_fetch=yes],
920                 [have_builtin_sync_add_and_fetch=no])
921 AC_MSG_RESULT($have_builtin_sync_add_and_fetch)
922 if test "x$have_builtin_sync_add_and_fetch" = "xyes"; then
923     AC_DEFINE(HAS_BUILTIN_SYNC_ADD_AND_FETCH, 1,
924         [Define to 1 if your compiler supports the __sync_add_and_fetch() intrinsic.])
925 fi
926
927 AC_MSG_CHECKING([for __sync_sub_and_fetch(temp, 1)])
928 AC_TRY_LINK([],[long* temp=0; long ret=__sync_sub_and_fetch(temp, 1);],
929                 [have_builtin_sync_sub_and_fetch=yes],
930                 [have_builtin_sync_sub_and_fetch=no])
931 AC_MSG_RESULT($have_builtin_sync_sub_and_fetch)
932 if test "x$have_builtin_sync_sub_and_fetch" = "xyes"; then
933     AC_DEFINE(HAS_BUILTIN_SYNC_SUB_AND_FETCH, 1,
934         [Define to 1 if your compiler supports the __sync_sub_and_fetch() intrinsic.])
935 fi
936
937 AC_MSG_CHECKING([for __sync_val_compare_and_swap(temp, 1, 1)])
938 AC_TRY_LINK([],[long *temp = 0; long ret=__sync_val_compare_and_swap(temp, 1, 1);],
939                 [have_builtin_sync_val_compare_and_swap=yes],
940                 [have_builtin_sync_val_compare_and_swap=no])
941 AC_MSG_RESULT($have_builtin_sync_val_compare_and_swap)
942 if test "x$have_builtin_sync_val_compare_and_swap" = "xyes"; then
943     AC_DEFINE(HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP, 1,
944         [Define to 1 if your compiler supports the __sync_val_compare_and_swap() intrinsic.])
945 fi
946
947 # Check for u16string/u32string declarations
948 AC_LANG_PUSH([C++])
949 AC_CHECK_TYPES([std::u16string, std::u32string], [], [], [[#include <string>]])
950 AC_CHECK_TYPES([char16_t, char32_t])
951 AC_CHECK_SIZEOF([wchar_t])
952 AC_LANG_POP([C++])
953
954 # Add top source directory for all builds so we can use config.h
955 INCLUDES="-I\$(abs_top_srcdir) $INCLUDES" 
956
957 # Check inotify availability
958 AC_CHECK_HEADER([sys/inotify.h], AC_DEFINE([HAVE_INOTIFY],[1],[Define if we have inotify]),)
959
960 # Checks for boost headers using CXX instead of CC
961 AC_LANG_PUSH([C++])
962 AC_CHECK_HEADER([boost/shared_ptr.hpp],, AC_MSG_ERROR($missing_library))
963 AC_LANG_POP([C++])
964
965 # Python
966 if test -z "$PYTHON_NOVERSIONCHECK"; then
967   AX_PYTHON_DEVEL([>= 2.4])
968   PYTHON_VERSION=$ac_python_version
969 fi
970
971 if test -z "$PYTHON_VERSION"; then
972   AC_MSG_ERROR([Can't find a Python version.])
973 else
974   LIBS="$LIBS $PYTHON_LDFLAGS"
975   AC_MSG_NOTICE([Using Python $PYTHON_VERSION])
976 fi
977
978 # Wayland
979 if test "$use_wayland" = "yes" && test "$host_vendor" != "apple"; then
980   AC_MSG_NOTICE($wayland_enabled)
981   PKG_CHECK_MODULES([WAYLAND_CLIENT],    [wayland-client],
982     [INCLUDES="$INCLUDES $WAYLAND_CLIENT_CFLAGS";
983      WAYLAND_CLIENT_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l wayland-client\`; echo ${LIBRARY:2}`;
984      XB_FIND_SONAME([WAYLAND_CLIENT_LIBRARY], ${WAYLAND_CLIENT_LIBRARY_LINE})],
985      AC_MSG_ERROR($missing_library))
986   PKG_CHECK_MODULES([WAYLAND_EGL],    [wayland-egl],
987     [INCLUDES="$INCLUDES $WAYLAND_EGL_CFLAGS";
988      WAYLAND_EGL_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l wayland-egl\`; echo ${LIBRARY:2:11}`
989      XB_FIND_SONAME([WAYLAND_EGL_LIBRARY], ${WAYLAND_EGL_LIBRARY_LINE})],
990     AC_MSG_ERROR($missing_library))
991   PKG_CHECK_MODULES([XKBCOMMON],    [xkbcommon],
992     [INCLUDES="$INCLUDES $XKBCOMMON_CFLAGS";
993      XKBCOMMON_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l xkbcommon\`; echo ${LIBRARY:2}`;
994      XB_FIND_SONAME([XKBCOMMON_LIBRARY], $XKBCOMMON_LIBRARY_LINE)],
995     AC_MSG_ERROR($missing_library))
996   AC_DEFINE([HAVE_WAYLAND], [1], [Define to 1 if you have Wayland libs installed.])
997   AC_DEFINE([HAVE_XKBCOMMON], [1], [Define to 1 if you have libxkbcommon installed.])
998
999   # If we are also building with tests then we want to build
1000   # wayland tests as well
1001   if test "$configure_gtest" = "yes"; then
1002     have_weston_sdk=no;
1003     PKG_CHECK_MODULES([PIXMAN],
1004                       [pixman-1],have_pixman=yes,
1005                       [AC_MSG_WARN($missing_library); have_pixman=no])
1006     PKG_CHECK_MODULES([WESTON],
1007                       [weston >= 1.1.90],[have_weston_sdk=yes],
1008                       [have_weston_sdk=no; AC_MSG_WARN($missing_library)])
1009
1010     AC_CHECK_PROG(WAYLAND_SCANNER, wayland-scanner, "wayland-scanner", "no")
1011     if test "x$WAYLAND_SCANNER" == "xno"; then
1012       AC_MSG_WARN($missing_program)
1013     else
1014       if test "x$have_weston_sdk" == "xyes" && test "x$have_pixman" = "xyes"; then
1015         AC_SUBST(WAYLAND_TEST_INCLUDES,"$WAYLAND_CLIENT_CFLAGS $XKBCOMMON_CFLAGS $PIXMAN_CFLAGS $WESTON_CFLAGS")
1016         AC_SUBST(WAYLAND_TEST_LIBS,"$WAYLAND_CLIENT_LIBS $XKBCOMMON_LIBS $PIXMAN_LIBS $WESTON_LIBS")
1017         AC_DEFINE([HAVE_WESTON_SDK], [1], [Define to 1 if Weston SDK is installed.])
1018         AC_SUBST(USE_WAYLAND_TEST_EXTENSION, 1)
1019       fi
1020       AC_SUBST(WAYLAND_SCANNER)
1021       AC_DEFINE([HAVE_WAYLAND_XBMC_PROTO],[1],["Define to 1 if the wayland test-protocol will be built"])
1022     fi
1023   fi
1024
1025   # Disable SDL and X11 builds
1026   use_sdl=no
1027   use_joystick=no
1028   use_x11=no
1029
1030   # Wayland requires the EGL "window system" which in turn only supports
1031   # the OpenGL ES API, so enable gles support
1032   use_gles=yes
1033 else
1034   AC_MSG_RESULT($wayland_disabled)
1035 fi
1036
1037 # Checks for platforms libraries.
1038 if test "$use_gles" = "yes"; then
1039   use_gl="no"
1040   # GLES overwrites GL if both set to yes.
1041   if test "$host_vendor" = "apple" ; then
1042     AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."])
1043     AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
1044     AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
1045   else
1046     if test "$target_platform" = "target_raspberry_pi"; then
1047       AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."])
1048       AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
1049       AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
1050       LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm"
1051     else
1052       AC_CHECK_LIB([EGL],   [main],, AC_MSG_ERROR($missing_library))
1053       AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library))
1054     fi
1055   fi
1056 else
1057   if test "$use_gl" = "yes"; then
1058     if test "$host_vendor" = "apple" ; then
1059       # linking to OpenGL.framework instead of libGL, libGLU so AC_CHECK_LIB will fail
1060       LIBS="$LIBS -framework OpenGL"
1061       AC_DEFINE([HAVE_LIBGL],[1],["Define to 1 if you have the `GL' library (-lGL)."])
1062       AC_MSG_RESULT(== WARNING: OpenGL support is assumed.)
1063       AC_DEFINE([HAVE_LIBGLU],[1],["Define to 1 if you have the `GLU' library (-lGLU)."])
1064       AC_MSG_RESULT(== WARNING: OpenGLU support is assumed.)
1065       AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
1066     else
1067       AC_CHECK_LIB([GL],  [main],, AC_MSG_ERROR($missing_library))
1068       AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
1069       AC_CHECK_LIB([GLU], [main],, AC_MSG_ERROR($missing_library))
1070     fi
1071   else
1072     AC_MSG_RESULT(== WARNING: OpenGL support is disabled. XBMC will run VERY slow. ==)
1073     AC_CHECK_LIB([SDL_gfx],[main])
1074   fi
1075 fi
1076
1077 # platform common libraries
1078 if test "$use_mysql" = "yes"; then
1079   AC_PATH_PROG(MYSQL_CONFIG, mysql_config,"no")
1080   if test "x$MYSQL_CONFIG" != "xno"; then
1081     AC_DEFINE([HAVE_MYSQL],[1],["Define to 1 if you have the `mysql' library (-lmysqlclient)."])
1082     INCLUDES="$INCLUDES `$MYSQL_CONFIG --include`"
1083     MYSQL_LIBS=`$MYSQL_CONFIG --libs`
1084     LIBS="$LIBS $MYSQL_LIBS"
1085     AC_SUBST(MYSQL_LIBS)
1086   else
1087     AC_MSG_ERROR($missing_program)
1088   fi
1089 fi
1090 AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library))
1091 AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library))
1092 AC_CHECK_HEADER([mpeg2dec/mpeg2convert.h],, AC_MSG_ERROR($missing_library),
1093   AC_INCLUDES_DEFAULT()
1094   [#include <mpeg2dec/mpeg2.h>])
1095 AC_CHECK_HEADER([mad.h],,            AC_MSG_ERROR($missing_library))
1096 AC_CHECK_HEADER([jpeglib.h],,        AC_MSG_ERROR($missing_library))
1097 AC_CHECK_HEADER([samplerate.h],,     AC_MSG_ERROR($missing_library))
1098 AC_CHECK_HEADER([ogg/ogg.h],,        AC_MSG_ERROR($missing_library))
1099 AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library))
1100 AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library))
1101 AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library))
1102 AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library))
1103
1104 # we need to check for the header because if it exists we set the openssl
1105 # and gcrypt MT callback hooks. This is mostly so that libcurl operates 
1106 # in MT manner correctly.
1107 AC_MSG_CHECKING([for CRYPTO_set_locking_callback(0)])
1108 AC_TRY_LINK([],[CRYPTO_set_locking_callback(0);],
1109                 [have_curl_static=yes],
1110                 [have_curl_static=no])
1111 AC_MSG_RESULT($have_curl_static)
1112 AC_CHECK_HEADER([openssl/crypto.h], AC_DEFINE([HAVE_OPENSSL],[1],[Define if we have openssl]),)
1113 AC_CHECK_HEADER([gcrypt.h], gcrypt_headers_available=yes,gcrypt_headers_available=no)
1114 if test "$gcrypt_headers_available" = "yes"; then
1115    # if we have the headers then we must have the lib
1116    AC_CHECK_LIB([gpg-error],[main],, AC_MSG_ERROR($missing_library))
1117    AC_CHECK_LIB([gcrypt],[gcry_control],, AC_MSG_ERROR($missing_library))
1118    AC_DEFINE([HAVE_GCRYPT],[1],[Define if we have gcrypt])
1119 fi
1120 PKG_CHECK_MODULES([GNUTLS], [gnutls], [have_gnutls=yes];AC_DEFINE([HAVE_GNUTLS], [1], [Define if we have gnutls]), AC_MSG_WARN("gnutls not found, ffmpeg TLS support disabled"))
1121
1122 AC_CHECK_LIB([bz2],         [main],, AC_MSG_ERROR($missing_library))
1123 AC_CHECK_LIB([jpeg],        [main],, AC_MSG_ERROR($missing_library)) # check for cximage
1124 AC_CHECK_LIB([tiff],        [main],, AC_MSG_ERROR($missing_library))
1125 if echo "$ARCH" | grep -q freebsd; then
1126 AC_CHECK_LIB([pthread],     [main],LIBS="-pthread $LIBS", AC_MSG_ERROR($missing_library))
1127 AC_CHECK_LIB([pthread],     [pthread_set_name_np],
1128   AC_DEFINE([HAVE_PTHREAD_SET_NAME_NP],[1],["Define to 1 if pthread has pthread_set_name_np"]),
1129   AC_MSG_RESULT([Could not find pthread_set_name_np in pthread]))
1130 else
1131 if test "$target_platform" != "target_android" ; then
1132   AC_CHECK_LIB([pthread],     [main],, AC_MSG_ERROR($missing_library))
1133   AC_CHECK_LIB([pthread],     [pthread_setname_np],
1134     AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],["Define to 1 if pthread has pthread_setname_np"]),
1135     AC_MSG_RESULT([Could not find pthread_setname_np in pthread]))
1136 fi
1137 fi
1138 AC_CHECK_LIB([lzo2],        [main],, AC_MSG_ERROR($missing_library))
1139 AC_CHECK_LIB([z],           [main],, AC_MSG_ERROR($missing_library))
1140 AC_CHECK_LIB([crypto],      [main],, AC_MSG_ERROR($missing_library))
1141 AC_CHECK_LIB([ssl],         [main],, AC_MSG_ERROR($missing_library))
1142 if test "$use_mysql" = "yes"; then
1143   AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library))
1144 fi
1145 AC_CHECK_LIB([bluetooth],   [hci_devid],, AC_MSG_RESULT([Could not find suitable version of libbluetooth]))
1146 AC_CHECK_LIB([yajl],        [main],, AC_MSG_ERROR($missing_library))
1147 AC_CHECK_LIB([tinyxml],     [main],, AC_MSG_ERROR($missing_library))
1148 if test "$target_platform" = "target_android" ; then
1149   AC_CHECK_LIB([android],     [main],, AC_MSG_ERROR($missing_library))
1150   AC_CHECK_LIB([log],         [__android_log_vprint],, AC_MSG_ERROR($missing_library))
1151   AC_CHECK_LIB([jnigraphics],     [main],, AC_MSG_ERROR($missing_library))
1152 fi
1153 PKG_CHECK_MODULES([LIBXML], [libxml-2.0],
1154   [INCLUDES="$INCLUDES $LIBXML_CFLAGS"; LIBS="$LIBS $LIBXML_LIBS"],
1155   AC_MSG_ERROR($missing_library))
1156 PKG_CHECK_MODULES([LIBXSLT], [libxslt],
1157   [INCLUDES="$INCLUDES $LIBXSLT_CFLAGS"; LIBS="$LIBS $LIBXSLT_LIBS"],
1158   AC_MSG_ERROR($missing_library))
1159 PKG_CHECK_MODULES([FRIBIDI],    [fribidi],
1160   [INCLUDES="$INCLUDES $FRIBIDI_CFLAGS"; LIBS="$LIBS $FRIBIDI_LIBS"],
1161   AC_MSG_ERROR($missing_library))
1162 PKG_CHECK_MODULES([SQLITE3],    [sqlite3],
1163   [INCLUDES="$INCLUDES $SQLITE3_CFLAGS"; LIBS="$LIBS $SQLITE3_LIBS"],
1164   AC_MSG_ERROR($missing_library))
1165 PKG_CHECK_MODULES([PNG],        [libpng],
1166   [INCLUDES="$INCLUDES $PNG_CFLAGS"; LIBS="$LIBS $PNG_LIBS"],
1167   AC_MSG_ERROR($missing_library))
1168 PKG_CHECK_MODULES([PCRECPP],    [libpcrecpp],
1169   [INCLUDES="$INCLUDES $PCRECPP_CFLAGS"; LIBS="$LIBS $PCRECPP_LIBS"]; \
1170   AC_DEFINE([HAVE_LIBPCRECPP],[1],["Define to 1 if libpcrecpp is installed"]),
1171   AC_MSG_ERROR($missing_library))
1172 PKG_CHECK_MODULES([PCRE],       [libpcre],
1173   [INCLUDES="$INCLUDES $PCRE_CFLAGS"; LIBS="$LIBS $PCRE_LIBS"]; \
1174   AC_DEFINE([HAVE_LIBPCRE],[1],["Define to 1 if libpcre is installed"]),
1175   AC_MSG_ERROR($missing_library))
1176 PKG_CHECK_MODULES([SAMPLERATE], [samplerate],
1177   [INCLUDES="$INCLUDES $SAMPLERATE_CFLAGS"; LIBS="$LIBS $SAMPLERATE_LIBS"],
1178   AC_MSG_ERROR($missing_library))
1179 PKG_CHECK_MODULES([FREETYPE2],  [freetype2],
1180   [INCLUDES="$INCLUDES $FREETYPE2_CFLAGS"; LIBS="$LIBS $FREETYPE2_LIBS"],
1181   AC_MSG_ERROR($missing_library))
1182 PKG_CHECK_MODULES([TAGLIB],  [taglib >= 1.8],
1183   [INCLUDES="$INCLUDES $TAGLIB_CFLAGS"; LIBS="$LIBS $TAGLIB_LIBS"],
1184   AC_MSG_ERROR($missing_library))
1185
1186 if test "$use_optical_drive" = "yes"; then
1187   PKG_CHECK_MODULES([CDIO],       [libcdio],
1188     [INCLUDES="$INCLUDES $CDIO_CFLAGS"; LIBS="$LIBS $CDIO_LIBS"],
1189     AC_MSG_ERROR($missing_library))
1190 fi
1191
1192 if test "$target_platform" = "target_android" ; then
1193 PKG_CHECK_MODULES([ZIP],       [libzip],
1194   [INCLUDES="$INCLUDES $ZIP_CFLAGS"; LIBS="$LIBS $ZIP_LIBS"],
1195   AC_MSG_ERROR($missing_library))
1196 fi
1197
1198 # check for libbluray
1199 AS_CASE([x$use_libbluray],
1200   [xyes],[
1201     PKG_CHECK_MODULES([LIBBLURAY],[libbluray >= 0.2.1],[use_libbluray="yes"], AC_MSG_ERROR($missing_library))
1202   ],
1203   [xauto],[
1204     PKG_CHECK_MODULES([LIBBLURAY],[libbluray >= 0.2.1],[use_libbluray="yes"], [use_libbluray="no"])
1205   ])
1206
1207 AS_CASE([x$use_libbluray],
1208   [xyes],[
1209     INCLUDES="$INCLUDES $LIBBLURAY_CFLAGS";
1210     XB_FIND_SONAME([BLURAY], [bluray], [use_libbluray])
1211     AC_DEFINE([HAVE_LIBBLURAY], 1, [System has libbluray library])
1212     AC_SUBST([HAVE_LIBBLURAY], 1)
1213     AC_CHECK_LIB([bluray], [bd_register_argb_overlay_proc],
1214       AC_CHECK_DECL([BD_EVENT_IDLE],
1215         AC_DEFINE([HAVE_LIBBLURAY_BDJ], 1, [System has libbluray library with bdj support]),,
1216         [[#include <libbluray/bluray.h>]]))
1217   ],[
1218     AC_SUBST([HAVE_LIBBLURAY], 0)
1219   ]
1220 )
1221
1222 #Check to see if libs are needed for functions that are often built-in to libc
1223 AC_SEARCH_LIBS([iconv_open],iconv,,AC_SEARCH_LIBS([libiconv_open],iconv,,AC_MSG_ERROR($missing_library)))
1224 AC_SEARCH_LIBS([dlopen],dl)
1225 AC_SEARCH_LIBS([clock_gettime],rt)
1226 AC_SEARCH_LIBS([dn_expand],  resolv)
1227 AC_SEARCH_LIBS([_dn_expand], resolv)
1228 AC_SEARCH_LIBS([__dn_expand],resolv)
1229
1230 # platform dependent libraries
1231 if test "$host_vendor" = "apple" ; then
1232   if test "$use_arch" != "arm"; then
1233     AC_CHECK_LIB([SDL],      [main],, AC_MSG_ERROR($missing_library))
1234     AC_DEFINE([HAVE_SDL],[1],["Define to 1 if using sdl"])
1235   fi
1236 else
1237 if test "$target_platform" != "target_android" ; then
1238   AC_CHECK_LIB([jasper],     [main],, AC_MSG_ERROR($missing_library)) # check for cximage
1239 fi
1240 if test "x$use_alsa" != "xno"; then
1241   PKG_CHECK_MODULES([ALSA],  [alsa],
1242     [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"; use_alsa=yes],
1243     AC_MSG_NOTICE($alsa_not_found); use_alsa=no)
1244 fi
1245   PKG_CHECK_MODULES([DBUS],    [dbus-1],
1246     [INCLUDES="$INCLUDES $DBUS_CFLAGS"; LIBS="$LIBS $DBUS_LIBS"; use_dbus=yes]; \
1247     AC_DEFINE([HAVE_DBUS],[1],["Define to 1 if dbus is installed"]),
1248     AC_MSG_NOTICE($missing_library); use_dbus=no)
1249   if test "x$use_sdl" != "xno"; then
1250     PKG_CHECK_MODULES([SDL],   [sdl],
1251       [INCLUDES="$INCLUDES $SDL_CFLAGS"; LIBS="$LIBS $SDL_LIBS"],
1252       AC_MSG_ERROR($missing_library))
1253     AC_CHECK_LIB([SDL_image],  [main],, AC_MSG_ERROR($missing_library))
1254     AC_DEFINE([HAVE_SDL],[1],["Define to 1 if using sdl"])
1255   fi
1256 fi
1257
1258 XB_FIND_SONAME([MAD],         [mad])
1259 XB_FIND_SONAME([OGG],         [ogg])
1260 XB_FIND_SONAME([CURL],        [curl])
1261 XB_FIND_SONAME([FLAC],        [FLAC])
1262 XB_FIND_SONAME([VORBIS],      [vorbis])
1263 XB_FIND_SONAME([VORBISFILE],  [vorbisfile])
1264 XB_FIND_SONAME([MODPLUG],     [modplug])
1265 XB_FIND_SONAME([ASS],         [ass])
1266 XB_FIND_SONAME([MPEG2],       [mpeg2])
1267
1268 # Audio encoders
1269 if test "x$use_libmp3lame" != "xno"; then
1270   XB_FIND_SONAME([LAMEENC], [mp3lame], [use_libmp3lame])
1271   if test "x$use_libmp3lame" != "xno"; then
1272     AC_CHECK_HEADER([lame/lame.h],, AC_MSG_ERROR($missing_headers))
1273   fi
1274 fi
1275 AS_CASE([x$use_libmp3lame],
1276   [xno],[
1277     AC_SUBST([HAVE_LIBMP3LAME], 0)
1278   ],
1279   [
1280     AC_DEFINE([HAVE_LIBMP3LAME], 1, [System has libmp3lame library])
1281     AC_SUBST([HAVE_LIBMP3LAME], 1)
1282   ]
1283 )
1284 if test "x$use_libvorbisenc" != "xno"; then
1285   XB_FIND_SONAME([VORBISENC], [vorbisenc], [use_libvorbisenc])
1286   if test "x$use_libvorbisenc" != "xno"; then
1287     AC_CHECK_HEADER([vorbis/vorbisenc.h],, AC_MSG_ERROR($missing_headers))
1288   fi
1289 fi
1290 AS_CASE([x$use_libvorbisenc],
1291   [xno],[
1292     AC_SUBST([HAVE_LIBVORBISENC], 0)
1293   ],[
1294     AC_DEFINE([HAVE_LIBVORBISENC], 1, [System has libvorbisenc library])
1295     AC_SUBST([HAVE_LIBVORBISENC], 1)
1296   ]
1297 )
1298
1299 # WebServer
1300 if test "$use_webserver" = "yes"; then
1301   AC_CHECK_LIB([microhttpd],  [main],, AC_MSG_ERROR($missing_library))
1302 fi
1303
1304 # Optical
1305 if test "$use_optical_drive" = "yes"; then
1306   AC_DEFINE([HAS_DVD_DRIVE], [1], [Define to 1 to have optical drive support])
1307 fi
1308
1309 # Alsa
1310 if test "$use_alsa" = "yes" && test "$host_vendor" != "apple"; then
1311   PKG_CHECK_MODULES([ALSA],  [alsa],
1312     [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"],
1313     AC_MSG_ERROR($missing_library))
1314   AC_DEFINE([HAS_ALSA], [1], [Define to 0 to disable ALSA support])
1315 else
1316   use_alsa="no"
1317   AC_MSG_RESULT($alsa_disabled)
1318 fi
1319
1320 # PulseAudio
1321 if test "x$use_pulse" != "xno"; then
1322   if test "$host_vendor" = "apple" ; then
1323     if test "x$use_pulse" = "xyes"; then
1324       AC_MSG_ERROR($pulse_disabled)
1325     else
1326       use_pulse="no"
1327       AC_MSG_RESULT($pulse_disabled)
1328     fi
1329     USE_PULSE=0
1330   else
1331     PKG_CHECK_MODULES([PULSE], [libpulse >= 1.0],
1332       [INCLUDES="$INCLUDES $PULSE_CFLAGS"; LIBS="$LIBS $PULSE_LIBS"; USE_PULSE=1;
1333         HAVE_LIBPULSE=1; AC_DEFINE([HAVE_LIBPULSE],[1],[Pulse audio enabled])],
1334       [pulse_found="no"; USE_PULSE=0; HAVE_LIBPULSE=0])
1335
1336     if test "$pulse_found" = "no"; then
1337       if test "x$use_pulse" = "xyes"; then
1338         AC_MSG_ERROR($pulse_not_found)
1339       else
1340         AC_MSG_RESULT($pulse_disabled)
1341       fi
1342     fi
1343   fi
1344 else
1345   AC_MSG_RESULT($pulse_disabled)
1346   USE_PULSE=0
1347 fi
1348
1349 # HAL
1350 if test "$host_vendor" = "apple" ; then
1351   use_hal="no"
1352   AC_MSG_RESULT($hal_disabled)
1353 else
1354   if test "$use_hal" = "yes"; then
1355     PKG_CHECK_MODULES([HAL], [hal],
1356       [INCLUDES="$INCLUDES $HAL_CFLAGS"; LIBS="$LIBS $HAL_LIBS"],
1357       use_hal=no;AC_MSG_RESULT($hal_not_found))
1358     PKG_CHECK_MODULES([HAL_STORAGE], [hal-storage],
1359       [INCLUDES="$INCLUDES $HAL_STORAGE_CFLAGS"; LIBS="$LIBS $HAL_STORAGE_LIBS"],
1360       use_hal=no;AC_MSG_RESULT($halstorage_not_found))
1361   else
1362     AC_MSG_RESULT($hal_disabled)
1363   fi
1364   if test "$use_hal" = "yes"; then
1365     AC_DEFINE([HAS_HAL], [1], [Define to 1 if you have HAL installed])
1366   fi
1367 fi
1368
1369 # avahi
1370 if test "$host_vendor" = "apple" ; then
1371   use_avahi="no"
1372   AC_MSG_RESULT($avahi_disabled)
1373 else
1374   if test "$use_avahi" = "yes"; then
1375     AC_CHECK_LIB([avahi-common], [main],,
1376       use_avahi=no;AC_MSG_RESULT($avahi_not_found))
1377     if test "$use_avahi" = "yes"; then
1378       #either both libs or none
1379       AC_CHECK_LIB([avahi-client], [main],,
1380         use_avahi=no;AC_MSG_RESULT($avahi_not_found))
1381     fi
1382   else
1383     AC_MSG_RESULT($avahi_disabled)
1384   fi
1385 fi
1386
1387 # mdnsembedded
1388 if test "$use_mdnsembedded" != "no"; then
1389   AC_CHECK_LIB([mDNSEmbedded], [embedded_mDNSInit],,
1390     [if test "$use_mdnsembedded" = "yes"; then
1391       AC_MSG_ERROR($mdnsembedded_not_found)
1392       USE_MDNSEMBEDDED=0
1393     elif test "$use_mdnsembedded" != "no"; then
1394       AC_MSG_NOTICE($mdnsembedded_not_found)
1395       use_mdnsembedded="no"
1396       USE_MDNSEMBEDDED=0
1397     fi
1398    ])
1399   if test $use_mdnsembedded != "no"; then
1400     USE_MDNSEMBEDDED=1
1401   fi
1402 else
1403   AC_MSG_RESULT($mdnsembedded_disabled)
1404   USE_MDNSEMBEDDED=0
1405 fi
1406 AC_SUBST(USE_MDNSEMBEDDED)
1407
1408 # X11
1409 if test "$use_x11" = "yes" && test "$host_vendor" != "apple"; then
1410   AC_MSG_NOTICE($x11_enabled)
1411   PKG_CHECK_MODULES([X11],    [x11],
1412     [INCLUDES="$INCLUDES $X11_CFLAGS"; LIBS="$LIBS $X11_LIBS"],
1413     AC_MSG_ERROR($missing_library))
1414   PKG_CHECK_MODULES([XEXT],  [xext],
1415     [INCLUDES="$INCLUDES $XEXT_CFLAGS"; LIBS="$LIBS $XEXT_LIBS"],
1416     AC_MSG_ERROR($missing_library))
1417   AC_DEFINE([HAVE_X11], [1], [Define to 1 if you have X11 libs installed.])
1418 else
1419   AC_MSG_RESULT($x11_disabled)
1420 fi
1421
1422 # XRandR
1423 if test "$host_vendor" = "apple" || test "$use_x11" = "no"; then
1424   use_xrandr="no"
1425   AC_MSG_RESULT($xrandr_disabled)
1426 else
1427   if test "$use_xrandr" = "yes" ; then
1428     AC_CHECK_LIB([Xrandr], [main],,
1429       use_xrandr="no";AC_MSG_RESULT($xrandr_not_found))
1430   else
1431     AC_MSG_RESULT($xrandr_disabled)
1432   fi
1433 fi
1434
1435 # WAVEFORM
1436 if test "$use_waveform" = "yes"; then
1437   AC_MSG_NOTICE($waveform_enabled)
1438     DISABLE_WAVEFORM=0
1439 else
1440   AC_MSG_NOTICE($waveform_disabled)
1441   DISABLE_WAVEFORM=1
1442 fi
1443
1444 # SPECTRUM
1445 if test "$use_spectrum" = "yes"; then
1446   AC_MSG_NOTICE($spectrum_enabled)
1447     DISABLE_SPECTRUM=0
1448 else
1449   AC_MSG_NOTICE($spectrum_disabled)
1450   DISABLE_SPECTRUM=1
1451 fi
1452
1453 # GOOM
1454 if test "$host_vendor" = "apple" ; then
1455   AC_MSG_NOTICE($goom_disabled)
1456   DISABLE_GOOM=1
1457 else
1458   if test "$use_goom" = "yes" && test "$use_gl" = "yes"; then
1459     AC_MSG_NOTICE($goom_enabled)
1460     DISABLE_GOOM=0
1461   else
1462     AC_MSG_NOTICE($goom_disabled)
1463     DISABLE_GOOM=1
1464   fi
1465 fi
1466
1467 # RSXS
1468 if test "$use_rsxs" = "no" || test "$use_gl" = "no"; then
1469   AC_MSG_NOTICE($rsxs_disabled)
1470   DISABLE_RSXS=1
1471 else
1472   AC_MSG_NOTICE($rsxs_enabled)
1473   DISABLE_RSXS=0
1474   # darwin osx can do rsxs but does not use x11, so do not pkg-config check for them
1475   if test "$host_vendor" != "apple" ; then
1476     PKG_CHECK_MODULES([XT],    [xt],
1477       [INCLUDES="$INCLUDES $XT_CFLAGS"; LIBS="$LIBS $XT_LIBS"],
1478       AC_MSG_ERROR($missing_library))
1479     PKG_CHECK_MODULES([XMU],   [xmu],
1480       [INCLUDES="$INCLUDES $XMU_CFLAGS"; LIBS="$LIBS $XMU_LIBS"],
1481       AC_MSG_ERROR($missing_library))
1482   fi
1483 fi
1484
1485 # FISHBMC
1486 if test "$use_fishbmc" = "no" || test "$use_gl" = "no"; then
1487   AC_MSG_NOTICE($fishbmc_disabled)   
1488   DISABLE_FISHBMC=1
1489   use_fishbmc="no"
1490 else
1491   AC_MSG_NOTICE($fishbmc_enabled)
1492   DISABLE_FISHBMC=0
1493 fi
1494
1495 # PROJECTM
1496 if test "$use_projectm" = "no" || test "$use_gl" = "no"; then
1497   AC_MSG_NOTICE($projectm_disabled)
1498   DISABLE_PROJECTM=1
1499   use_projectm="no"
1500 else
1501   AC_MSG_NOTICE($projectm_enabled)
1502   DISABLE_PROJECTM=0
1503 fi
1504
1505 # skin touched
1506 use_skin_touched=no
1507 if [[ -f "addons/skin.touched/addon.xml" ]]; then 
1508   use_skin_touched=yes
1509   USE_SKIN_TOUCHED=1
1510   AC_DEFINE([HAS_SKIN_TOUCHED], [1], [Whether to build skin touched.])
1511 else
1512   USE_SKIN_TOUCHED=0
1513 fi
1514
1515 # libssh
1516 if test "x$use_ssh" = "xno"; then
1517   AC_MSG_NOTICE($ssh_disabled)
1518   use_libssh="no"
1519 else
1520   AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_ERROR($ssh_not_found))
1521   AC_DEFINE([HAVE_LIBSSH], [1], [Whether to use libSSH library.])
1522 fi
1523
1524 # libcurl
1525 if test "x$have_curl_static" = "xyes"; then
1526   AC_DEFINE([HAS_CURL_STATIC], [1], [Whether OpenSSL inside libcurl is static.])
1527 fi
1528
1529 # libRTMP
1530 if test "$use_librtmp" != "no"; then
1531   PKG_CHECK_MODULES([LIBRTMP], [librtmp],
1532     [INCLUDES="$INCLUDES $LIBRTMP_CFLAGS"; LIBS="$LIBS $LIBRTMP_LIBS";
1533       AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])],
1534     [AC_CHECK_HEADERS([librtmp/log.h librtmp/amf.h librtmp/rtmp.h],,
1535       [if test "$use_librtmp" = "yes"; then
1536         AC_MSG_ERROR($librtmp_not_found)
1537       elif test "$use_librtmp" != "no"; then
1538         AC_MSG_NOTICE($librtmp_not_found)
1539         use_librtmp="no"
1540       fi
1541       ])
1542       if test "$use_librtmp" != "no"; then
1543         XB_FIND_SONAME([RTMP], [rtmp], [use_librtmp])
1544       fi
1545       if test "$use_librtmp" != "no"; then
1546         AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])
1547       fi
1548     ])
1549 else
1550   AC_MSG_NOTICE($librtmp_disabled)
1551 fi
1552
1553 # samba
1554 if test "x$use_samba" != "xno"; then
1555   PKG_CHECK_MODULES([SAMBA], [smbclient],
1556     [INCLUDES="$INCLUDES $SAMBA_CFLAGS"; LIBS="$LIBS $SAMBA_LIBS"],
1557     [AC_CHECK_LIB([smbclient], [main],,
1558       use_samba=no;AC_MSG_ERROR($missing_library))
1559       USE_LIBSMBCLIENT=0
1560     ])
1561 else
1562   AC_MSG_RESULT($samba_disabled)
1563   USE_LIBSMBCLIENT=0
1564 fi
1565
1566 if test "x$use_samba" != "xno"; then
1567   AC_DEFINE([HAVE_LIBSMBCLIENT], [1], [Define to 1 if you have Samba installed])
1568   USE_LIBSMBCLIENT=1
1569 fi
1570
1571 # libnfs
1572 if test "$use_libnfs" != "no"; then
1573   AC_CHECK_HEADERS([nfsc/libnfs.h],,
1574    [if test "$use_libnfs" = "yes"; then
1575       AC_MSG_ERROR($libnfs_not_found)
1576       USE_LIBNFS=0
1577     elif test "$use_libnfs" != "no"; then
1578       AC_MSG_NOTICE($libnfs_not_found)
1579       use_libnfs="no"
1580       USE_LIBNFS=0
1581     fi
1582    ])
1583   if test "$use_libnfs" != "no"; then
1584     XB_FIND_SONAME([NFS], [nfs], [use_libnfs])
1585   fi
1586   if test "$use_libnfs" != "no"; then
1587     AC_DEFINE([HAVE_LIBNFS], [1], [Whether to use libnfs library.])
1588     USE_LIBNFS=1
1589   fi
1590 else
1591   USE_LIBNFS=0
1592   AC_MSG_NOTICE($libnfs_disabled)
1593 fi
1594
1595 # libafpclient
1596 USE_LIBAFPCLIENT=0
1597 if test "x$use_libafpclient" != "xno"; then
1598   AC_CHECK_HEADERS([afpfs-ng/libafpclient.h],,
1599    [if test "x$use_libafpclient" = "xyes"; then
1600       AC_MSG_ERROR($libafpclient_not_found)
1601     elif test "x$use_libafpclient" != "xno"; then
1602       AC_MSG_NOTICE($libafpclient_not_found)
1603       use_libafpclient="no"
1604     fi
1605    ])
1606   if test "x$use_libafpclient" != "xno"; then
1607     XB_FIND_SONAME([AFPCLIENT], [afpclient], [use_libafpclient])
1608     AC_DEFINE([HAVE_LIBAFPCLIENT], [1], [Whether to use libafpclient library.])
1609     USE_LIBAFPCLIENT=1
1610   fi
1611 else
1612   AC_MSG_NOTICE($libafpclient_disabled)
1613 fi
1614
1615 # libplist for airplay feature
1616 USE_AIRPLAY=0
1617 if test "$use_airplay" != "no"; then
1618   AC_CHECK_HEADER([plist/plist.h],,
1619    [if test "$use_airplay" = "yes"; then
1620       AC_MSG_ERROR($libplist_not_found)
1621     elif test "$use_airplay" != "no"; then
1622       AC_MSG_NOTICE($libplist_not_found)
1623       use_airplay="no"
1624     fi
1625    ])
1626
1627   if test "$use_airplay" != "no"; then
1628     XB_FIND_SONAME([PLIST], [plist], [use_airplay])
1629     USE_AIRPLAY=1
1630     AC_DEFINE([HAVE_LIBPLIST],[1],["Define to 1 if you have libplist."])
1631   fi
1632 fi
1633
1634 # libshairplay for AirTunes (prefered lib)
1635 USE_AIRTUNES=0
1636 if test "x$use_airtunes" != "xno"; then
1637   AC_CHECK_HEADERS([shairplay/raop.h],USE_AIRTUNES=1,
1638    [AC_MSG_NOTICE($libshairplay_not_found)
1639    ])
1640
1641   if test "x$USE_AIRTUNES" != "x0"; then
1642     XB_FIND_SONAME([SHAIRPLAY], [shairplay], [USE_AIRTUNES])
1643     USE_LIBSHAIRPLAY=1
1644     AC_CHECK_MEMBERS([struct raop_callbacks_s.cls],,,
1645                      [[#include <shairplay/raop.h>]])
1646     AC_DEFINE([HAVE_LIBSHAIRPLAY],[1],["Define to 1 if you have libshairplay."])
1647   fi
1648
1649   #libshairport - as a fallback for AirTunes
1650   if test "x$USE_AIRTUNES" == "x0"; then
1651     AC_CHECK_HEADERS([shairport/shairport.h],USE_AIRTUNES=1,
1652      [AC_MSG_NOTICE($libshairport_not_found)
1653      ])
1654
1655     if test "x$USE_AIRTUNES" != "x0"; then
1656       XB_FIND_SONAME([SHAIRPORT], [shairport], [USE_AIRTUNES])
1657       AC_CHECK_MEMBERS([struct AudioOutput.ao_set_metadata],,,
1658                        [[#include <shairport/shairport.h>]])
1659       AC_DEFINE([HAVE_LIBSHAIRPORT],[1],["Define to 1 if you have libshairport."])
1660     fi
1661   fi
1662
1663   if test "x$USE_AIRTUNES" == "x0"; then
1664     if test "x$use_airtunes" == "xyes"; then
1665       AC_MSG_ERROR("No airtunes library could be found. (libshairport/libshairplay)")
1666     fi
1667     use_airtunes="no"
1668   fi
1669 fi
1670
1671 # libudev
1672 USE_LIBUDEV=0
1673 if test "$host_vendor" = "apple" ; then
1674   use_libudev="no"
1675   AC_MSG_NOTICE($libudev_disabled)
1676 else
1677   if test "$use_libudev" = "auto"; then
1678     PKG_CHECK_MODULES([UDEV],[libudev],,[use_libudev="no";AC_MSG_RESULT($libudev_not_found)])
1679   elif test "$use_libudev" = "yes" ; then
1680     PKG_CHECK_MODULES([UDEV],[libudev],,[use_libudev="no";AC_MSG_ERROR($libudev_not_found)])
1681   else
1682     AC_MSG_NOTICE($libudev_disabled)
1683   fi
1684
1685   if test "x$use_libudev" != "xno"; then
1686     USE_LIBUDEV=1;INCLUDES="$INCLUDES $UDEV_CFLAGS";LIBS="$LIBS $UDEV_LIBS"
1687     AC_DEFINE([HAVE_LIBUDEV],[1],["Define to 1 if libudev is installed"])
1688   fi
1689 fi
1690
1691 # libusb
1692 USE_LIBUSB=0
1693
1694 # if libudev is available, we don't need libusb
1695 if test "x$use_libudev" != "xno"; then
1696   use_libusb="no"
1697   AC_MSG_NOTICE($libusb_disabled_udev_found)
1698 else
1699   if test "$host_vendor" = "apple" ; then
1700     use_libusb="no"
1701     AC_MSG_NOTICE($libusb_disabled)
1702   else
1703     if echo "$ARCH" | grep -q freebsd ; then
1704       AC_CHECK_LIB([usb],[main],
1705                 [use_libusb="yes";USB_LIBS="-lusb"],
1706                 [use_libusb="no";AC_MSG_RESULT($libusb_not_found)])
1707     elif test "$use_libusb" = "auto"; then
1708       PKG_CHECK_MODULES([USB],[libusb],,[use_libusb="no";AC_MSG_RESULT($libusb_not_found)])
1709     elif test "$use_libusb" = "yes"; then
1710       PKG_CHECK_MODULES([USB],[libusb],,[use_libusb="no";AC_MSG_ERROR($libusb_not_found)])
1711     else
1712       AC_MSG_NOTICE($libusb_disabled)
1713     fi
1714   
1715     if test "x$use_libusb" != "xno"; then
1716       USE_LIBUSB=1;INCLUDES="$INCLUDES $USB_CFLAGS";LIBS="$LIBS $USB_LIBS"
1717       AC_DEFINE([HAVE_LIBUSB],[1],["Define to 1 if libusb is installed"])
1718     fi
1719   fi
1720 fi
1721
1722 # libcec
1723 USE_LIBCEC=0
1724 if test "x$use_libcec" != "xno"; then
1725   # libcec is dyloaded, so we need to check for its headers and link any depends.
1726   if test "x$use_libcec" != "xno"; then
1727     if test "x$use_libcec" != "xauto"; then
1728       PKG_CHECK_MODULES([CEC],[libcec >= 2.1.0],,[use_libcec="no";AC_MSG_ERROR($libcec_disabled)])
1729     else
1730       PKG_CHECK_MODULES([CEC],[libcec >= 2.1.0],,[use_libcec="no";AC_MSG_RESULT($libcec_disabled)])
1731     fi
1732
1733     if test "x$use_libcec" != "xno"; then
1734       INCLUDES="$INCLUDES $CEC_CFLAGS"
1735       USE_LIBCEC=1;AC_DEFINE([HAVE_LIBCEC],[1],["Define to 1 if libcec is installed"])
1736       XB_FIND_SONAME([LIBCEC],[cec],[use_libcec])
1737       AC_MSG_NOTICE($libcec_enabled)
1738     else
1739       use_libcec="no"
1740       AC_MSG_NOTICE($libcec_disabled)
1741     fi
1742   fi
1743 else
1744   use_libcec="no"
1745   AC_MSG_NOTICE($libcec_disabled)
1746 fi
1747
1748 # libcap
1749 if test "$use_libcap" != "no"; then
1750   AC_CHECK_HEADERS([sys/capability.h],,
1751    [if test "$use_libcap" = "yes"; then
1752       AC_MSG_ERROR($libcap_not_found)
1753     elif test "$use_libcap" != "no"; then
1754       AC_MSG_NOTICE($libcap_not_found)
1755       use_libcap="no"
1756     fi
1757    ])
1758   if test "$use_libcap" != "no"; then
1759     AC_CHECK_LIB([cap], main, LIBS="$LIBS -lcap", use_libcap=no)
1760   fi
1761   if test "$use_libcap" != "no"; then
1762     AC_DEFINE([HAVE_LIBCAP], [1], [Whether to use libcap library.])
1763   fi
1764 else
1765   AC_MSG_NOTICE($libcap_disabled)
1766 fi
1767
1768 ### External libraries checks
1769
1770 # Hacks for supporting libav
1771
1772 USE_LIBAV_HACKS=0
1773 if test "$use_libav_hacks" = "yes"; then
1774     export PKG_CONFIG_PATH="${srcdir}/lib/xbmc-libav-hacks/pkgconfig/:$PKG_CONFIG_PATH"
1775     USE_LIBAV_HACKS=1
1776     AC_DEFINE([USE_LIBAV_HACKS], [1], [Whether to use libav compatibility hacks.])
1777 fi
1778
1779 # External FFmpeg
1780 if test "$use_external_ffmpeg" = "yes"; then
1781   FFMPEG_LIBNAMES="libavcodec libavfilter libavformat libavutil libpostproc libswscale libswresample"
1782
1783   PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
1784                     [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"],
1785                     AC_MSG_ERROR($missing_library))
1786
1787   # in case the headers are in a custom directory
1788   SAVE_CPPFLAGS="$CPPFLAGS"
1789   CPPFLAGS="$CPPFLAGS $FFMPEG_CFLAGS"
1790
1791   AC_CHECK_HEADERS([libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h libavutil/avutil.h libpostproc/postprocess.h libswscale/swscale.h],,
1792   [AC_MSG_ERROR($missing_headers)])
1793
1794   AC_MSG_NOTICE($external_ffmpeg_enabled)
1795   USE_EXTERNAL_FFMPEG=1
1796   AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
1797
1798   CPPFLAGS="$SAVE_CPPFLAGS"
1799 else
1800   AC_MSG_NOTICE($external_ffmpeg_disabled)
1801   USE_EXTERNAL_FFMPEG=0
1802 fi
1803
1804 echo "Checking for SWIG installation"
1805 AC_PATH_PROG(SWIG_EXE, swig, "none")
1806 if test "$SWIG_EXE" = "none"; then
1807   AC_PATH_PROG(SWIG20_EXE, swig2.0, "none")
1808   if test "$SWIG20_EXE" != "none" ; then
1809     SWIG_EXE=$SWIG20_EXE
1810   fi
1811 fi
1812 if test "$SWIG_EXE" = "none"; then
1813   AC_MSG_ERROR($missing_program)
1814 fi
1815 final_message="$final_message\n  SWIG Available:\tYes"
1816
1817 echo "Checking for a jre installation"
1818 AC_PATH_PROG(JAVA_EXE, java, "none")
1819 if test "$JAVA_EXE" = "none"; then
1820   AC_MSG_ERROR($missing_program)
1821 fi
1822 final_message="$final_message\n  JRE Available:\tYes"
1823
1824 echo "Checking for doxygen installation"
1825 AC_PATH_PROG(DOXYGEN_EXE, doxygen, "none")
1826 if test "$DOXYGEN_EXE" = "none"; then
1827   AC_MSG_WARN([Unable to find doxygen installation. Will not be able to make docstrings for the python api])
1828   final_message="$final_message\n  Doxygen Available:\tNo"
1829   USE_DOXYGEN=0
1830 else
1831   final_message="$final_message\n  Doxygen Available:\tYes"
1832   USE_DOXYGEN=1
1833 fi
1834
1835 # VDPAU
1836 if test "x$use_vdpau" != "xno"; then
1837   if test "$host_vendor" = "apple" ; then
1838     if test "x$use_vdpau" = "xyes"; then
1839       AC_MSG_ERROR([VDPAU not supported on this platform])
1840     else
1841       use_vdpau="no"
1842       AC_MSG_NOTICE($vdpau_disabled)
1843     fi
1844     USE_VDPAU=0
1845   else
1846     USE_VDPAU=1
1847     AC_CHECK_HEADER([vdpau/vdpau.h],AC_DEFINE([HAVE_LIBVDPAU], [],
1848       [Define to 1 if you have the 'vdpau' library (-lvdpau).]),
1849     [if test "x$use_vdpau" = "xyes"; then
1850       USE_VDPAU=0
1851       AC_MSG_ERROR([$vdpau_not_found])
1852     else
1853       use_vdpau="no"
1854       USE_VDPAU=0
1855       AC_MSG_RESULT($vdpau_not_found)
1856     fi])
1857   fi
1858 else
1859   USE_VDPAU=0
1860   AC_MSG_NOTICE($vdpau_disabled)
1861 fi
1862
1863 # VAAPI
1864 if test "x$use_vaapi" != "xno"; then
1865   if test "$host_vendor" = "apple" ; then
1866     if test "x$use_vaapi" = "xyes"; then
1867       AC_MSG_ERROR([VAAPI not supported on this platform])
1868     else
1869       use_vaapi="no"
1870       AC_MSG_NOTICE($vaapi_disabled)
1871     fi
1872     USE_VAAPI=0
1873   else
1874     initial_val=$use_vaapi
1875     AC_CHECK_LIB([va], main, :, use_vaapi=no)
1876     if test "x$use_vaapi" != "xno"; then
1877       AC_CHECK_LIB([va-glx], main, LIBS="-lva -lva-glx $LIBS", use_vaapi=no, -lva)
1878     fi
1879
1880     if test "x$use_vaapi" = "xno"; then
1881       if test "x$initial_val" = "xyes"; then
1882         AC_MSG_ERROR($vaapi_not_found)
1883       else
1884         AC_MSG_RESULT($vaapi_not_found)
1885       fi
1886       USE_VAAPI=0
1887     else
1888       AC_DEFINE([HAVE_LIBVA], [1], [Define to 1 if you have the 'vaapi' libraries (-lva AND -lva-glx)])
1889       USE_VAAPI=1
1890     fi
1891   fi
1892 else
1893   AC_MSG_NOTICE($vaapi_disabled)
1894   USE_VAAPI=0
1895 fi
1896
1897 # CrystalHD
1898 if test "x$use_crystalhd" != "xno"; then
1899   SAVE_CFLAGS="$CFLAGS"
1900   CFLAGS="-D__LINUX_USER__"
1901   AC_CHECK_HEADER([libcrystalhd/libcrystalhd_if.h], [],
1902     [ if test "x$use_crystalhd" = "xyes"; then
1903         AC_MSG_ERROR($crystalhd_not_found)
1904       else
1905         use_crystalhd=no
1906         AC_MSG_RESULT($crystalhd_not_found)
1907       fi
1908       USE_CRYSTALHD=0
1909     ])
1910     CFLAGS="$SAVE_CFLAGS"
1911     if test "$host_vendor" != "apple"; then
1912       XB_FIND_SONAME([CRYSTALHD], [crystalhd], [use_crystalhd])
1913     fi
1914     if test "x$use_crystalhd" != "xno"; then
1915       SAVE_CFLAGS="$CFLAGS"
1916       CFLAGS="-D__LINUX_USER__ -lcrystalhd"
1917       # check for new crystalhd lib
1918       AC_COMPILE_IFELSE(
1919         [AC_LANG_SOURCE([#include <libcrystalhd/bc_dts_types.h>
1920           #include <libcrystalhd/bc_dts_defs.h>
1921           PBC_INFO_CRYSTAL bCrystalInfo;])],
1922         [ AC_DEFINE([HAVE_LIBCRYSTALHD], [2], [Define to 2 if you have the 'New Broadcom Crystal HD' library.]) ], 
1923         [ AC_DEFINE([HAVE_LIBCRYSTALHD], [1], [Define to 1 if you have the 'Old Broadcom Crystal HD' library.]) ])
1924       CFLAGS="$SAVE_CFLAGS"
1925       USE_CRYSTALHD=1
1926     fi
1927 else
1928   AC_MSG_NOTICE($crystalhd_disabled)
1929   USE_CRYSTALHD=0
1930 fi
1931
1932 # VTBDecoder
1933 if test "x$use_vtbdecoder" != "xno"; then
1934   if test "$host_vendor" = "apple" ; then
1935     HAVE_VIDEOTOOLBOXDECODER=1
1936     AC_DEFINE([HAVE_VIDEOTOOLBOXDECODER], [1], [Define to 1 if you have the 'VTBDecoder' library.])
1937     AC_MSG_NOTICE($vtbdecoder_enabled)
1938   else
1939     if test "x$use_vtbdecoder" = "xyes"; then
1940       AC_MSG_ERROR([VTB Decoder not supported on this platform])
1941     else
1942       use_vtbdecoder="no"
1943       AC_MSG_NOTICE($vtbdecoder_disabled)
1944     fi
1945   fi
1946 else
1947   AC_MSG_NOTICE($vtbdecoder_disabled)
1948 fi
1949
1950 # OpenMax
1951 if test "$host_vendor" = "apple" ; then
1952   use_openmax="no"
1953   USE_OPENMAX=0
1954   AC_MSG_NOTICE($openmax_disabled)
1955 elif test "$target_platform" = "target_raspberry_pi"; then
1956   use_openmax="no"
1957   USE_OPENMAX=0
1958   AC_MSG_NOTICE($openmax_disabled)
1959 else
1960   if test "$use_gles" = "yes" && test "$use_openmax" = "auto"; then
1961     PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio],
1962                       USE_OPENMAX=1;[INCLUDES="$INCLUDES $OPENMAX_CFLAGS"; LIBS="$LIBS $OPENMAX_LIBS"],
1963                       use_openmax=no;USE_OPENMAX=0;AC_MSG_RESULT($openmax_not_found))
1964   elif test "$use_gles" = "yes" && test "$use_openmax" = "yes"; then
1965     PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio],
1966                       USE_OPENMAX=1;[INCLUDES="$INCLUDES $OPENMAX_CFLAGS"; LIBS="$LIBS $OPENMAX_LIBS"],
1967                       AC_MSG_ERROR($openmax_not_found))
1968   else
1969     AC_MSG_NOTICE($openmax_disabled)
1970     use_openmax=no
1971     USE_OPENMAX=0
1972   fi
1973 fi
1974
1975 # yajl version check (yajl_version.h was added in yajl 2.0)
1976 AC_CHECK_HEADERS([yajl/yajl_version.h], [], [
1977 AC_DEFINE(YAJL_MAJOR, 1, [yajl version 1])
1978 ], [])
1979
1980 # additional internal players
1981 case $add_players in
1982   *omxplayer*)
1983       XB_ADD_PLAYER([OMXPLAYER], [omxplayer])
1984       ;;
1985 esac
1986
1987 # additional internal codecs
1988 # remember to convert commas to spaces
1989 for codecs in `echo $add_codecs | sed 's/,/ /g'`; do
1990   case $codecs in
1991     *amcodec*)
1992         AC_CHECK_HEADER([amcodec/codec_error.h],, AC_MSG_ERROR($missing_headers))
1993         XB_ADD_CODEC([LIBAMCODEC], [amcodec], [$codecs])
1994         ;;
1995     *libstagefright*)
1996         XB_ADD_CODEC([LIBSTAGEFRIGHT], [libstagefright], [$codecs])
1997         ;;
1998     *)
1999   esac
2000 done
2001
2002 # platform specific bin utilities
2003 if test "$build_vendor" != "apple" ; then
2004   AC_CHECK_PROG(HAVE_GAWK,gawk,"yes","no",)
2005   if test "$HAVE_GAWK" = "no" ; then
2006     AC_MSG_ERROR($missing_program)
2007   fi
2008 fi
2009
2010 if test "$use_arch" != "arm" ; then
2011   AC_CHECK_PROG(HAVE_CMAKE,cmake,"yes","no",)
2012   if test "$HAVE_CMAKE" = "no" ; then
2013     AC_MSG_ERROR($missing_program)
2014   fi
2015 fi
2016
2017 AC_CHECK_PROG(HAVE_GPERF,gperf,"yes","no",)
2018 if test "$HAVE_GPERF" = "no" ; then
2019   AC_MSG_ERROR($missing_program)
2020 fi
2021
2022 AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",)
2023 if test "$HAVE_UNZIP" = "no" ; then
2024   AC_MSG_ERROR($missing_program)
2025 fi
2026
2027 AC_CHECK_PROG(HAVE_ZIP,zip,"yes","no",)
2028 if test "$HAVE_ZIP" = "no" ; then
2029   AC_MSG_ERROR($missing_program)
2030 fi
2031
2032 if test "$ARCH" = "i486-linux" || test "$ARCH" = "x86-freebsd"; then
2033   AC_CHECK_PROG(HAVE_NASM,nasm,"yes","no",)
2034   if test "$HAVE_NASM" = "no" ; then
2035     AC_MSG_ERROR($missing_program)
2036   fi
2037 fi
2038
2039 # Checks for header files.
2040 AC_HEADER_DIRENT
2041 AC_HEADER_STDC
2042 AC_HEADER_SYS_WAIT
2043 AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h limits.h locale.h \
2044   malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \
2045   strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h sys/socket.h \
2046   sys/time.h sys/timeb.h sys/vfs.h termios.h unistd.h utime.h wchar.h wctype.h])
2047 AC_CHECK_HEADERS([cdio/iso9660.h],,AC_MSG_ERROR([$missing_headers]))
2048
2049 # Checks for typedefs, structures, and compiler characteristics.
2050 AC_HEADER_STAT
2051 AC_HEADER_STDBOOL
2052 AC_C_CONST
2053 AC_TYPE_UID_T
2054 AC_C_INLINE
2055 AC_TYPE_INT8_T
2056 AC_TYPE_INT16_T
2057 AC_TYPE_INT32_T
2058 AC_TYPE_INT64_T
2059 AC_TYPE_MODE_T
2060 AC_TYPE_OFF_T
2061 AC_TYPE_PID_T
2062 AC_C_RESTRICT
2063 AC_TYPE_SIZE_T
2064 AC_TYPE_SSIZE_T
2065 AC_CHECK_MEMBERS([struct stat.st_rdev])
2066 AC_HEADER_TIME
2067 AC_STRUCT_TM
2068 AC_TYPE_UINT8_T
2069 AC_TYPE_UINT16_T
2070 AC_TYPE_UINT32_T
2071 AC_TYPE_UINT64_T
2072 AC_C_BIGENDIAN
2073
2074 if test "$cross_compiling" = "yes"; then
2075   final_message="$final_message\n  Crosscomp.:\tYes"
2076   if [[ -d "$NATIVE_ROOT" ]]; then
2077     CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
2078     CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
2079     LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -L$NATIVE_ROOT/lib"
2080     if test "$host_vendor" != "apple" ; then
2081       LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -Wl,-rpath=$NATIVE_ROOT/lib"
2082     fi
2083     final_message="$final_message\n  Native Root:\t$NATIVE_ROOT"
2084   fi
2085 else
2086   final_message="$final_message\n  Crosscomp.:\tNo"
2087 fi
2088
2089 final_message="$final_message\n  target ARCH:\t$use_arch"
2090 final_message="$final_message\n  target CPU:\t$use_cpu"
2091
2092 if test "$use_gles" = "yes"; then
2093   final_message="$final_message\n  OpenGLES:\tYes"
2094   USE_OPENGLES=1
2095   USE_OPENGL=0
2096 else
2097   USE_OPENGLES=0
2098   if test "$use_gl" = "yes"; then
2099     final_message="$final_message\n  OpenGL:\tYes"
2100     USE_OPENGL=1
2101   else
2102     final_message="$final_message\n  OpenGL:\tNo (Very Slow)"
2103     SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_2D"
2104     USE_OPENGL=0
2105   fi
2106 fi
2107
2108 if test "$use_alsa" = "yes"; then
2109   USE_ALSA=1
2110   AC_DEFINE([USE_ALSA],[1],["Define to 1 if alsa is installed"])
2111   final_message="$final_message\n  ALSA:\t\tYes"
2112 else
2113   USE_ALSA=0
2114   final_message="$final_message\n  ALSA:\t\tNo"
2115 fi
2116
2117 if test "$use_dbus" = "yes"; then
2118   final_message="$final_message\n  DBUS:\t\tYes"
2119 else
2120   final_message="$final_message\n  DBUS:\t\tNo"
2121 fi
2122
2123 if test "x$use_vdpau" != "xno"; then
2124   final_message="$final_message\n  VDPAU:\tYes"
2125 else
2126   final_message="$final_message\n  VDPAU:\tNo"
2127 fi
2128
2129 if test "x$use_vaapi" != "xno"; then
2130   final_message="$final_message\n  VAAPI:\tYes"
2131 else
2132   final_message="$final_message\n  VAAPI:\tNo"
2133 fi
2134
2135 if test "x$use_crystalhd" != "xno"; then
2136   final_message="$final_message\n  CrystalHD:\tYes"
2137 else
2138   final_message="$final_message\n  CrystalHD:\tNo"
2139 fi
2140
2141 if test "x$use_vtbdecoder" != "xno"; then
2142   final_message="$final_message\n  VTBDecoder:\tYes"
2143 else
2144   final_message="$final_message\n  VTBDecoder:\tNo"
2145 fi
2146
2147 if test "$use_openmax" != "no"; then
2148   final_message="$final_message\n  OpenMax:\tYes"
2149 else
2150   final_message="$final_message\n  OpenMax:\tNo"
2151 fi
2152
2153 if test "$use_joystick" = "yes"; then
2154   final_message="$final_message\n  Joystick:\tYes"
2155   SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_JOYSTICK"
2156 else
2157   final_message="$final_message\n  Joystick:\tNo"
2158 fi
2159
2160 if test "$use_xrandr" = "yes"; then
2161   final_message="$final_message\n  XRandR:\tYes"
2162   USE_XRANDR=1
2163 else
2164   final_message="$final_message\n  XRandR:\tNo"
2165   USE_XRANDR=0
2166 fi
2167
2168 if test "$use_waveform" = "yes"; then
2169   final_message="$final_message\n  Waveform:\tYes"
2170 else
2171   final_message="$final_message\n  Waveform:\tNo"
2172 fi
2173
2174 if test "$use_spectrum" = "yes"; then
2175   final_message="$final_message\n  Spectrum:\tYes"
2176 else
2177   final_message="$final_message\n  Spectrum:\tNo"
2178 fi
2179
2180 if test "$use_goom" = "yes"; then
2181   final_message="$final_message\n  GOOM:\t\tYes"
2182 else
2183   final_message="$final_message\n  GOOM:\t\tNo"
2184 fi
2185
2186 if test "$use_rsxs" = "yes"; then
2187   final_message="$final_message\n  RSXS:\t\tYes"
2188 else
2189   final_message="$final_message\n  RSXS:\t\tNo"
2190 fi
2191
2192 if test "$use_fishbmc" = "yes"; then
2193   final_message="$final_message\n  FishBMC:\tYes"
2194 else
2195   final_message="$final_message\n  FishBMC:\tNo"
2196 fi
2197
2198 if test "$use_projectm" = "yes"; then
2199   final_message="$final_message\n  ProjectM:\tYes"
2200 else
2201   final_message="$final_message\n  ProjectM:\tNo"
2202 fi
2203
2204 if test "$use_skin_touched" = "yes"; then
2205   final_message="$final_message\n  Skin Touched:\tYes"
2206 else
2207   final_message="$final_message\n  Skin Touched:\tNo"
2208 fi
2209
2210 if test "$use_x11" = "yes"; then
2211   final_message="$final_message\n  X11:\t\tYes"
2212 else
2213   final_message="$final_message\n  X11:\t\tNo"
2214 fi
2215
2216 if test "$use_wayland" = "yes"; then
2217   final_message="$final_message\n  Wayland:\tYes"
2218   USE_WAYLAND=1
2219   USE_XKBCOMMON=1
2220 else
2221   final_message="$final_message\n  Wayland:\tNo"
2222 fi
2223
2224 if test "$use_libbluray" = "yes"; then
2225   final_message="$final_message\n  Bluray:\tYes"
2226 else
2227   final_message="$final_message\n  Bluray:\tNo"
2228 fi
2229
2230 if test "x$use_texturepacker" != "xno"; then
2231   final_message="$final_message\n  TexturePacker:Yes"
2232   USE_TEXTUREPACKER=1
2233 else
2234   final_message="$final_message\n  TexturePacker:No"
2235   USE_TEXTUREPACKER=0
2236 fi
2237
2238 if test "$use_mid" = "yes"; then
2239   final_message="$final_message\n  MID Support:\tYes"
2240   SDL_DEFINES="$SDL_DEFINES -DMID"
2241 else
2242   final_message="$final_message\n  MID Support:\tNo"
2243 fi
2244
2245 ORIGCC=$CC
2246 ORIGCXX=$CXX
2247 if test "x$use_ccache" != "xno"; then
2248   AC_PATH_PROG(CCACHE,ccache,none)
2249   if test "$ac_cv_path_CCACHE" = "none"; then
2250     if test "x$use_ccache" = "xyes"; then
2251       AC_MSG_ERROR([ccache not found.]);
2252     else
2253       AC_MSG_NOTICE([ccache not found. Falling back to default CC])
2254       final_message="$final_message\n  ccache:\tNo"
2255     fi
2256   else
2257     CC="$ac_cv_path_CCACHE $CC"
2258     CXX="$ac_cv_path_CCACHE $CXX"
2259     AC_MSG_NOTICE(enabling ccache)
2260     final_message="$final_message\n  ccache:\tYes"
2261   fi
2262 else
2263   final_message="$final_message\n  ccache:\tNo"
2264 fi
2265
2266 if test "$use_alsa" = "yes"; then
2267   final_message="$final_message\n  ALSA Support:\tYes"
2268 else
2269   final_message="$final_message\n  ALSA Support:\tNo"
2270 fi
2271
2272 if test "x$use_pulse" != "xno"; then
2273   XBMC_STANDALONE_SH_PULSE=tools/Linux/xbmc-standalone.sh.pulse
2274   final_message="$final_message\n  PulseAudio:\tYes"
2275 else
2276   XBMC_STANDALONE_SH_PULSE=/dev/null
2277   final_message="$final_message\n  PulseAudio:\tNo"
2278 fi
2279
2280 if test "$use_hal" = "yes"; then
2281   final_message="$final_message\n  HAL Support:\tYes"
2282 else
2283   final_message="$final_message\n  HAL Support:\tNo"
2284 fi
2285
2286 # DVDCSS
2287 if test "$use_dvdcss" = "yes"; then
2288   AC_MSG_NOTICE($dvdcss_enabled)
2289   final_message="$final_message\n  DVDCSS:\tYes"
2290   BUILD_DVDCSS=1
2291   SKIP_CONFIG_DVDCSS=0
2292   DVDREAD_CFLAGS="-D_XBMC -DHAVE_DVDCSS_DVDCSS_H"
2293 else
2294   AC_MSG_NOTICE($dvdcss_disabled)
2295   final_message="$final_message\n  DVDCSS:\tNo"
2296   BUILD_DVDCSS=0
2297   SKIP_CONFIG_DVDCSS=1
2298   DVDREAD_CFLAGS="-D_XBMC -UHAVE_DVDCSS_DVDCSS_H"
2299 fi
2300 if test "$host_vendor" = "apple"; then
2301  DVDREAD_CFLAGS="$DVDREAD_CFLAGS -D__DARWIN__"
2302 fi
2303
2304 # Google Test Framework
2305 if test "$configure_gtest" = "yes"; then
2306   AC_MSG_NOTICE($gtest_enabled)
2307   final_message="$final_message\n  Google Test Framework Configured:\tYes"
2308   GTEST_CONFIGURED=1
2309   SKIP_CONFIG_GTEST=0
2310 else
2311   AC_MSG_NOTICE($gtest_disabled)
2312   final_message="$final_message\n  Google Test Framework Configured:\tNo"
2313   GTEST_CONFIGURED=0
2314   SKIP_CONFIG_GTEST=1
2315 fi
2316
2317 if test "$use_avahi" = "yes"; then
2318   final_message="$final_message\n  Avahi:\tYes"
2319 else
2320   final_message="$final_message\n  Avahi:\tNo"
2321 fi
2322
2323 if test "$use_mdnsembedded" != "no"; then
2324   final_message="$final_message\n  mDNSEmbedded:\tYes"
2325 else
2326   final_message="$final_message\n  mDNSEmbedded:\tNo"
2327 fi
2328
2329 if test "$use_nonfree" = "yes"; then
2330   final_message="$final_message\n  Non-free:\tYes"
2331   HAVE_XBMC_NONFREE=1
2332   AC_DEFINE([HAVE_XBMC_NONFREE], [1], [Define to 1 to enable non-free components.])
2333 else
2334   HAVE_XBMC_NONFREE=0
2335   final_message="$final_message\n  Non-free:\tNo"
2336 fi
2337
2338 if test "$use_asap" = "yes"; then
2339   AC_CHECK_PROGS(HAVE_GDC,gdc-4.4 gdc-4.3 gdc,"no")
2340   if test "$HAVE_GDC" = "no"; then
2341     AC_MSG_ERROR($missing_program);
2342   fi
2343   AC_CHECK_PROG(HAVE_FPC,fpc,"yes","no")
2344   if test "$HAVE_FPC" = "no"; then
2345     AC_MSG_ERROR($missing_program);
2346   fi
2347   USE_ASAP_CODEC=1
2348   AC_DEFINE([USE_ASAP_CODEC], [1], [Define to 1 to enable ASAP codec.])
2349   final_message="$final_message\n  ASAP Codec:\tYes"
2350 else
2351   USE_ASAP_CODEC=0
2352   final_message="$final_message\n  ASAP Codec:\tNo"
2353 fi
2354
2355 if test "$use_mysql" = "yes"; then
2356   final_message="$final_message\n  MySQL:\tYes"
2357   USE_MYSQL=1
2358 else
2359   final_message="$final_message\n  MySQL:\tNo"
2360   USE_MYSQL=0
2361 fi
2362 if test "$use_webserver" = "yes"; then
2363   final_message="$final_message\n  Webserver:\tYes"
2364   USE_WEB_SERVER=1
2365 else
2366   final_message="$final_message\n  Webserver:\tNo"
2367   USE_WEB_SERVER=0
2368 fi
2369
2370 if test "$use_libssh" != "no"; then
2371   final_message="$final_message\n  libssh support:\tYes"
2372 else
2373   final_message="$final_message\n  libssh support:\tNo"
2374 fi
2375
2376 if test "$use_librtmp" != "no"; then
2377   final_message="$final_message\n  libRTMP support:\tYes"
2378 else
2379   final_message="$final_message\n  libRTMP support:\tNo"
2380 fi
2381
2382 if test "x$use_samba" != "xno"; then
2383   final_message="$final_message\n  libsmbclient support:\tYes"
2384 else
2385   final_message="$final_message\n  libsmbclient support:\tNo"
2386 fi
2387
2388 if test "$use_libnfs" != "no"; then
2389   final_message="$final_message\n  libnfs client support:Yes"
2390 else
2391   final_message="$final_message\n  libnfs client support:No"
2392 fi
2393
2394 if test "x$use_libafpclient" != "xno"; then
2395   final_message="$final_message\n  libafpclient support:\tYes"
2396 else  
2397   final_message="$final_message\n  libafpclient support:\tNo"
2398 fi
2399
2400 if test "$use_airplay" != "no"; then
2401   final_message="$final_message\n  AirPlay support:\tYes"
2402 else
2403   final_message="$final_message\n  AirPLay support:\tNo"
2404 fi
2405
2406 if test "x$use_airtunes" != "xno"; then
2407   if test "x$USE_LIBSHAIRPLAY" == "x1"; then
2408     final_message="$final_message\n  AirTunes support (libshairplay):\tYes"  
2409   else
2410     final_message="$final_message\n  AirTunes support (libshairport):\tYes"
2411   fi
2412 else
2413   final_message="$final_message\n  AirTunes support:\tNo"
2414 fi
2415
2416 if test "x$use_upnp" != "xno"; then
2417   final_message="$final_message\n  UPnP support:\t\tYes"
2418   USE_UPNP=1
2419   AC_DEFINE([USE_UPNP], [1], [Define to 1 to enable UPnP support.])
2420 else
2421   USE_UPNP=0
2422   final_message="$final_message\n  UPnP support:\t\tNo"
2423 fi
2424
2425 if test "$use_optical_drive" = "yes"; then
2426   final_message="$final_message\n  Optical drive:\tYes"
2427 else
2428   final_message="$final_message\n  Optical drive:\tNo"
2429 fi
2430
2431 if test "x$use_libudev" != "xno"; then
2432   final_message="$final_message\n  libudev support:\tYes"
2433 else
2434   final_message="$final_message\n  libudev support:\tNo"
2435 fi
2436
2437 if test "x$use_libusb" != "xno"; then
2438   final_message="$final_message\n  libusb support:\tYes"
2439 else
2440   final_message="$final_message\n  libusb support:\tNo"
2441 fi
2442
2443 if test "x$use_libcec" != "xno"; then
2444   final_message="$final_message\n  libcec support:\tYes"
2445 else
2446   final_message="$final_message\n  libcec support:\tNo"
2447 fi
2448
2449 if test "x$use_libmp3lame" != "xno"; then
2450   final_message="$final_message\n  libmp3lame support:\tYes"
2451 else
2452   final_message="$final_message\n  libmp3lame support:\tNo"
2453 fi
2454
2455 if test "x$use_libvorbisenc" != "xno"; then
2456   final_message="$final_message\n  libvorbisenc support:\tYes"
2457 else
2458   final_message="$final_message\n  libvorbisenc support:\tNo"
2459 fi
2460
2461 if test "x$use_libcap" != "xno"; then
2462   final_message="$final_message\n  libcap support:\tYes"
2463 else
2464   final_message="$final_message\n  libcap support:\tNo"
2465 fi
2466
2467 if test "x$add_players" != "xno"; then
2468   final_message="$final_message\n  additional players:\tYes, $add_players"
2469 else
2470   final_message="$final_message\n  additional players:\tNo"
2471 fi
2472
2473 if test "x$add_codecs" != "xno"; then
2474   final_message="$final_message\n  additional codecs:\tYes, $add_codecs"
2475 else
2476   final_message="$final_message\n  additional codecs:\tNo"
2477 fi
2478
2479 ### External libraries messages
2480
2481 if test "$use_external_ffmpeg" = "yes"; then
2482   final_message="$final_message\n  External FFmpeg:\tYes"
2483 else
2484   final_message="$final_message\n  External FFmpeg:\tNo"
2485 fi
2486
2487 if test "$host_vendor" = "apple" ; then
2488   # built internal but referenced as external, we link directly to them.
2489   # this MUST be the last thing before OUTPUT_FILES as they do not
2490   # exist until after we build FFMpeg.
2491   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavcodec -lavcodec"
2492   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavfilter -lavfilter"
2493   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswresample -lswresample"
2494   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavformat -lavformat"
2495   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavutil -lavutil"
2496   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libpostproc -lpostproc"
2497   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswscale -lswscale"
2498 fi
2499
2500 USE_PVR_ADDONS=0
2501 DISABLE_PVR_ADDON_CONFIG=1
2502 if [[ -f "pvr-addons/Makefile.am" ]]; then
2503   final_message="$final_message\n  PVR add-ons:\t\tYes"
2504   USE_PVR_ADDONS=1
2505   DISABLE_PVR_ADDON_CONFIG=0
2506 else
2507   final_message="$final_message\n  PVR add-ons:\t\tNo"
2508 fi
2509
2510 OUTPUT_FILES="Makefile \
2511     Makefile.include \
2512     addons/skin.confluence/media/Makefile \
2513     xbmc/Makefile \
2514     xbmc/cdrip/Makefile \
2515     xbmc/cores/Makefile \
2516     xbmc/cores/VideoRenderers/Makefile \
2517     xbmc/cores/dvdplayer/Makefile \
2518     lib/Makefile \
2519     lib/libdvd/Makefile \
2520     xbmc/cores/DllLoader/Makefile \
2521     xbmc/cores/DllLoader/exports/Makefile \
2522     xbmc/cores/dvdplayer/DVDCodecs/Makefile \
2523     xbmc/cores/dvdplayer/DVDCodecs/Audio/Makefile \
2524     xbmc/cores/dvdplayer/DVDCodecs/Overlay/Makefile \
2525     xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile \
2526     xbmc/cores/dvdplayer/DVDDemuxers/Makefile \
2527     xbmc/cores/dvdplayer/DVDSubtitles/Makefile \
2528     xbmc/cores/AudioEngine/Makefile \
2529     xbmc/cores/paplayer/Makefile \
2530     xbmc/cores/omxplayer/Makefile \
2531     lib/timidity/Makefile \
2532     lib/asap/Makefile \
2533     lib/nosefart/Makefile \
2534     lib/libsidplay2/Makefile \
2535     lib/vgmstream/Makefile \
2536     lib/snesapu/SNES/SNESAPU/Makefile \
2537     lib/stsound/StSoundLibrary/Makefile \
2538     xbmc/cores/playercorefactory/Makefile \
2539     xbmc/music/karaoke/Makefile \
2540     xbmc/osx/Makefile \
2541     xbmc/guilib/Makefile \
2542     xbmc/input/linux/Makefile \
2543     xbmc/interfaces/Makefile \
2544     xbmc/network/Makefile \
2545     xbmc/network/upnp/Makefile \
2546     lib/libRTV/Makefile \
2547     lib/libexif/Makefile \
2548     lib/libXDAAP/Makefile \
2549     lib/cmyth/Makefile \
2550     lib/libhdhomerun/Makefile \
2551     lib/libsquish/Makefile \
2552     lib/cximage-6.0/Makefile \
2553     lib/libUPnP/Makefile \
2554     xbmc/DllPaths_generated.h \
2555     xbmc/DllPaths_generated_android.h \
2556     xbmc/freebsd/Makefile \
2557     xbmc/linux/Makefile \
2558     xbmc/filesystem/Makefile \
2559     xbmc/screensavers/rsxs-0.9/xbmc/Makefile \
2560     xbmc/visualizations/XBMCProjectM/Makefile \
2561     xbmc/visualizations/Goom/Makefile \
2562     xbmc/visualizations/OpenGLSpectrum/Makefile \
2563     xbmc/visualizations/fishBMC/Makefile \
2564     xbmc/visualizations/WaveForm/Makefile \
2565     xbmc/windowing/Makefile \
2566     xbmc/windowing/egl/Makefile \
2567     lib/addons/library.xbmc.addon/Makefile \
2568     lib/addons/library.xbmc.codec/Makefile \
2569     lib/addons/library.xbmc.gui/Makefile \
2570     lib/addons/library.xbmc.pvr/Makefile \
2571     xbmc/visualizations/EGLHelpers/Makefile \
2572     tools/Linux/xbmc.sh \
2573     tools/Linux/xbmc-standalone.sh \
2574     tools/TexturePacker/Makefile \
2575     tools/EventClients/Clients/OSXRemote/Makefile \
2576     xbmc/peripherals/bus/Makefile \
2577     xbmc/peripherals/devices/Makefile \
2578     xbmc/android/activity/Makefile \
2579     xbmc/android/loader/Makefile \
2580     xbmc/android/jni/Makefile \
2581     xbmc/utils/Makefile \
2582     xbmc/main/Makefile \
2583     project/cmake/xbmc-config.cmake"
2584
2585 if test "$use_wayland" = "yes"; then
2586 OUTPUT_FILES="$OUTPUT_FILES xbmc/windowing/tests/wayland/Makefile"
2587 fi
2588
2589 if test "$use_skin_touched" = "yes"; then
2590 OUTPUT_FILES="$OUTPUT_FILES addons/skin.touched/media/Makefile"
2591 fi
2592
2593 if test "$use_codec_libstagefright" = "yes"; then
2594 OUTPUT_FILES="$OUTPUT_FILES xbmc/cores/dvdplayer/DVDCodecs/Video/libstagefrightICS/Makefile"
2595 fi
2596
2597 OUTPUT_FILES="$OUTPUT_FILES \
2598   xbmc/interfaces/python/Makefile \
2599   xbmc/interfaces/python/test/Makefile"
2600
2601 # Line below is used so we can use AM_INIT_AUTOMAKE. The corresponding
2602 # .dummy.am does nothing.
2603 AC_CONFIG_FILES([.dummy])
2604
2605 AC_CONFIG_FILES([${OUTPUT_FILES}])
2606 OUTPUT_FILES="$OUTPUT_FILES \
2607   .dummy"
2608 AC_SUBST(CFLAGS)
2609 AC_SUBST(CXXFLAGS)
2610 AC_SUBST(INCLUDES)
2611 AC_SUBST(LDFLAGS)
2612 AC_SUBST(CXX_FOR_BUILD)
2613 AC_SUBST(CC_FOR_BUILD)
2614 AC_SUBST(CFLAGS_FOR_BUILD)
2615 AC_SUBST(CXXFLAGS_FOR_BUILD)
2616 AC_SUBST(LDFLAGS_FOR_BUILD)
2617 AC_SUBST(SDL_DEFINES)
2618 AC_SUBST(BUILD_DVDCSS)
2619 AC_SUBST(DISABLE_WAVEFORM)
2620 AC_SUBST(DISABLE_SPECTRUM)
2621 AC_SUBST(DISABLE_GOOM)
2622 AC_SUBST(DISABLE_RSXS)
2623 AC_SUBST(DISABLE_FISHBMC)
2624 AC_SUBST(DISABLE_PROJECTM)
2625 AC_SUBST(USE_SKIN_TOUCHED)
2626 AC_SUBST(USE_EXTERNAL_FFMPEG)
2627 AC_SUBST(USE_STATIC_FFMPEG)
2628 AC_SUBST(USE_LIBAV_HACKS)
2629 AC_SUBST(PYTHON_VERSION)
2630 AC_SUBST(OUTPUT_FILES)
2631 AC_SUBST(HAVE_XBMC_NONFREE)
2632 AC_SUBST(USE_ASAP_CODEC)
2633 AC_SUBST(LIBCURL_BASENAME)
2634 AC_SUBST(LIBFLAC_BASENAME)
2635 AC_SUBST(LIBVORBISFILE_BASENAME)
2636 AC_SUBST(LIBMODPLUG_BASENAME)
2637 AC_SUBST(LIBMAD_BASENAME)
2638 AC_SUBST(LIBOGG_BASENAME)
2639 AC_SUBST(LIBVORBISENC_BASENAME)
2640 AC_SUBST(LIBVORBIS_BASENAME)
2641 AC_SUBST(LIBASS_BASENAME)
2642 AC_SUBST(LIBMEPG2_BASENAME)
2643 AC_SUBST_FILE(XBMC_STANDALONE_SH_PULSE)
2644 AC_SUBST(USE_OPENGL)
2645 AC_SUBST(USE_OPENGLES)
2646 AC_SUBST(USE_VDPAU)
2647 AC_SUBST(USE_VAAPI)
2648 AC_SUBST(USE_CRYSTALHD)
2649 AC_SUBST(USE_LIBSMBCLIENT)
2650 AC_SUBST(USE_LIBNFS)
2651 AC_SUBST(USE_LIBAFPCLIENT)
2652 AC_SUBST(USE_AIRPLAY)
2653 AC_SUBST(USE_OPENMAX)
2654 AC_SUBST(USE_PULSE)
2655 AC_SUBST(HAVE_LIBPULSE)
2656 AC_SUBST(USE_XRANDR)
2657 AC_SUBST(USE_ALSA)
2658 AC_SUBST(USE_TEXTUREPACKER)
2659 AC_SUBST(USE_AIRTUNES)
2660 AC_SUBST(USE_LIBUDEV)
2661 AC_SUBST(USE_LIBUSB)
2662 AC_SUBST(USE_LIBCEC)
2663 AC_SUBST(USE_MYSQL)
2664 AC_SUBST(USE_WAYLAND)
2665 AC_SUBST(USE_WEB_SERVER)
2666 AC_SUBST(USE_UPNP)
2667 AC_SUBST(USE_XKBCOMMON)
2668 AC_SUBST(USE_OMXLIB)
2669 AC_SUBST(USE_ANDROID)
2670 AC_SUBST(GTEST_CONFIGURED)
2671 AC_SUBST(USE_DOXYGEN)
2672 AC_SUBST(USE_PVR_ADDONS)
2673 AC_SUBST(GNUTLS_ALL_LIBS)
2674 AC_SUBST(VORBISENC_ALL_LIBS)
2675
2676 # pushd and popd are not available in other shells besides bash, so implement
2677 # our own pushd/popd functions
2678 XB_DIRSTACK="$PWD"
2679 xb_pushd()
2680 {
2681   local dirname="$1"
2682   if [[ -d "$dirname" ]] && [[ -x "$dirname" ]]; then
2683     cd "$dirname"
2684     XB_DIRSTACK="$dirname ${XB_DIRSTACK:-$PWD}"
2685     return 0
2686   else
2687     AC_MSG_ERROR(xb_pushd: unable to change to $dirname)
2688   fi
2689 }
2690 xb_popd()
2691 {
2692   if [[ -n "$XB_DIRSTACK" ]]; then
2693     XB_DIRSTACK="${XB_DIRSTACK#* }"
2694     cd "${XB_DIRSTACK%% *}"
2695     return 0
2696   else
2697     AC_MSG_ERROR(xb_popd: unable to go back to previous directory)
2698   fi
2699 }
2700
2701 # Function to run the configure scripts in our submodules
2702 # Consists of three paramaters, the path to the submodule, the configure command
2703 # with appropriate arguments, and a third parameter set to 1 if we are to skip
2704 # running the script, anything else if not.
2705 AC_DEFUN([XB_CONFIG_MODULE],[
2706 AC_CONFIG_COMMANDS_POST([
2707 if [[ $3 != "1" ]]; then
2708     if [[ -d $1 ]]; then
2709       xb_pushd $1
2710       $2
2711       if [[ $? -ne 0 ]]; then
2712         xb_popd
2713         AC_MSG_ERROR([[Submodule $1 failed to configure]])
2714       else
2715         xb_popd
2716       fi
2717     else
2718       AC_MSG_ERROR([[Submodule $1 does not exist]])
2719     fi
2720 else
2721     AC_MSG_NOTICE([[Skipping configuration of submodule $1.]])
2722 fi
2723 ])
2724 ])
2725
2726 XB_CONFIG_MODULE([lib/ffmpeg], [
2727   if test "$host_vendor" = "apple" ; then
2728     ffmpg_config="--target-os=$ffmpeg_target_os"
2729     # handle disables first, we do individual enables later
2730     ffmpg_config="$ffmpg_config --disable-muxers   --disable-encoders"
2731     ffmpg_config="$ffmpg_config --disable-devices  --disable-doc"
2732     ffmpg_config="$ffmpg_config --disable-ffplay   --disable-ffmpeg"
2733     ffmpg_config="$ffmpg_config --disable-ffprobe  --disable-ffserver"
2734     ffmpg_config="$ffmpg_config --enable-vda       --disable-crystalhd"
2735     ffmpg_config="$ffmpg_config --disable-decoder=mpeg_xvmc"
2736
2737     # handle conditional enables/disables
2738     if test "$use_debug" = "no"; then
2739       ffmpg_config="$ffmpg_config --disable-debug"
2740     fi
2741     if test "$use_cpu"  != "no";  then
2742       ffmpg_config="$ffmpg_config --cpu=$use_cpu"
2743     fi
2744     if test "$use_arch" != "no"; then
2745       ffmpg_config="$ffmpg_config --arch=$use_arch --enable-cross-compile"
2746     fi
2747     if test "$use_arch"  = "arm"; then
2748       ffmpg_config="$ffmpg_config --enable-pic"
2749       ffmpg_config="$ffmpg_config --disable-armv5te --disable-armv6t2"
2750       if test "$use_neon"  = "yes"; then
2751         ffmpg_config="$ffmpg_config --enable-neon"
2752       else
2753         ffmpg_config="$ffmpg_config --disable-neon"
2754       fi
2755     else
2756       ffmpg_config="$ffmpg_config --disable-amd3dnow"
2757     fi
2758     if test "$use_ffmpeg_libvorbis" = "yes"; then
2759       ffmpg_config="$ffmpg_config --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis"
2760     else
2761       ffmpg_config="$ffmpg_config --disable-libvorbis"
2762     fi
2763     if test "$have_gnutls" = "yes"; then
2764       ffmpg_config="$ffmpg_config --enable-gnutls"
2765     fi
2766
2767     # handle individual enables
2768     ffmpg_config="$ffmpg_config --enable-gpl"
2769     ffmpg_config="$ffmpg_config --enable-postproc"
2770     ffmpg_config="$ffmpg_config --enable-static      --enable-pthreads"
2771     ffmpg_config="$ffmpg_config --enable-muxer=spdif --enable-muxer=adts --enable-muxer=asf --enable-muxer=ipod"
2772     ffmpg_config="$ffmpg_config --enable-encoder=ac3 --enable-encoder=aac --enable-encoder=wmav2"
2773     ffmpg_config="$ffmpg_config --enable-protocol=http"
2774     ffmpg_config="$ffmpg_config --enable-runtime-cpudetect"
2775
2776     # ffmpeg will not compile with llvm-gcc-4.2, use clang instead
2777     case $CC in
2778       *llvm-gcc-4.2*)
2779         ffmpg_config="$ffmpg_config --cc=clang" ;;
2780       *)
2781         ffmpg_config="$ffmpg_config --cc=$CC" ;;
2782     esac
2783     
2784     # extra-cflags must be passed alone or it gets expanded wrong by the ffmpeg configure
2785     FFMPEG_EXTRACFLAGS="$CFLAGS $FFMPEG_EXTRACFLAGS -w -D_DARWIN_C_SOURCE -Dattribute_deprecated="
2786
2787     LDFLAGS="$LDFLAGS" ./configure --extra-cflags="$FFMPEG_EXTRACFLAGS" $ffmpg_config --as="$AS"
2788
2789     # if using llvm-gcc-4.2 as assembler, -MMD is not enough to generate
2790     # dependency files in the right place, replace it with something that works
2791     case $AS in
2792       *llvm-gcc-4.2*)
2793         sed -ie "s#AS_DEPFLAGS=-MMD#AS_DEPFLAGS=-MMD -MF \$(\@:.o=.d) -MT \$\@#" config.mak ;;
2794     esac
2795
2796     # ffmpeg will use yasm found at ${prefix}/bin during configure
2797     # but then hardcodes 'yasm' in config.mak, fix it.
2798     sed -ie "s#YASM=yasm#YASM=${YASM}#" config.mak
2799     sed -ie "s#YASMDEP=yasm#YASMDEP=${YASM}#" config.mak
2800     sed -ie "s# -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 # #" config.mak
2801   else
2802     CFLAGS="" \
2803     CPPFLAGS="" \
2804     CXXFLAGS="" \
2805     LDFLAGS="$(echo "$LDFLAGS" | sed "s/-Wl,-Bsymbolic-functions//g")" \
2806     ./configure \
2807       --extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \
2808       `if test "$use_debug" = "no"; then echo --disable-debug; fi` \
2809       `if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \
2810       `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
2811       `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\
2812       `if test "$use_neon" = "yes"; then echo --enable-neon; else echo --disable-neon; fi`\
2813       --target-os=$ffmpeg_target_os \
2814       --disable-muxers \
2815       --enable-muxer=spdif \
2816       --enable-muxer=adts \
2817       --enable-muxer=asf \
2818       --enable-muxer=ipod \
2819       --disable-encoders \
2820       --enable-encoder=ac3 \
2821       --enable-encoder=aac \
2822       --enable-encoder=wmav2 \
2823       `if test "$use_ffmpeg_libvorbis" = "yes"; then echo --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis; else echo --disable-libvorbis; fi` \
2824       --disable-decoder=mpeg_xvmc \
2825       --disable-devices \
2826       --disable-ffprobe \
2827       --disable-ffplay \
2828       --disable-ffserver \
2829       --disable-ffmpeg \
2830       --disable-crystalhd \
2831       `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static --disable-shared; else echo --disable-static --enable-shared; fi` \
2832       --disable-doc \
2833       --enable-postproc \
2834       --enable-gpl \
2835       `if test "x$use_vdpau" != "xno"; then echo --enable-vdpau; else echo --disable-vdpau; fi` \
2836       `if test "x$use_vaapi" != "xno"; then echo --enable-vaapi; else echo --disable-vaapi; fi` \
2837       `if test "$use_optimizations" != "no"; then echo --enable-optimizations; else echo --disable-optimizations; fi` \
2838       --enable-protocol=http \
2839       `if test "$have_gnutls" = "yes"; then echo --enable-gnutls; fi` \
2840       --enable-pthreads \
2841       --enable-runtime-cpudetect \
2842       `if test "$use_hardcoded_tables" = "yes"; then echo --enable-hardcoded-tables; else echo --disable-hardcoded-tables; fi`\
2843       `if test "$target_platform" = "target_android"; then echo "--custom-libname-with-major=\\$(SLIBPREF)\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; \
2844        else echo "--custom-libname-with-major=\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; fi` \
2845       `case $host_cpu in i?86*) echo --disable-pic ;; *) echo --enable-pic ;; esac` \
2846       --cc="$CC" &&
2847       sed -i -e "s#define HAVE_SYMVER 1#define HAVE_SYMVER 0#" config.h &&
2848       sed -i -e "s#define HAVE_SYMVER_GNU_ASM 1#define HAVE_SYMVER_GNU_ASM 0#" config.h
2849   fi
2850 ], [$USE_EXTERNAL_FFMPEG])
2851
2852 XB_CONFIG_MODULE([lib/libdvd/libdvdcss], [
2853   ./configure \
2854     CC="$CC" \
2855     CXX="$CXX" \
2856     CFLAGS="$CFLAGS $DROID_DVDLIB_SEEK64" \
2857     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2858     --host=$host_alias \
2859     --build=$build_alias \
2860     --target=$target_alias \      
2861     --disable-doc \
2862     --enable-static \
2863     --with-pic
2864 ], [$SKIP_CONFIG_DVDCSS])
2865
2866 XB_CONFIG_MODULE([lib/libdvd/libdvdread], [
2867   ./configure2 \
2868     --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src $DROID_DVDLIB_SEEK64" \
2869     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2870     --host=$host_alias \
2871     --build=$build_alias \
2872     --target=$target_alias \      
2873     --enable-static \
2874     --disable-shared \
2875     --disable-strip \
2876     --disable-opts \
2877     --cc="$CC" &&
2878   mkdir -p `pwd`/../includes/dvdread
2879   cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread
2880   cp `pwd`/../libdvdread/src/dvdread/*.h `pwd`/../includes/dvdread
2881 ], [0])
2882
2883 XB_CONFIG_MODULE([lib/libdvd/libdvdnav], [
2884   ./configure2 \
2885     --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes $DROID_DVDLIB_SEEK64" \
2886     --extra-ldflags="-L`pwd`/../libdvdread/obj" \
2887     --with-dvdread-config="`pwd`/../dvdread-config" \
2888     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2889     --host=$host_alias \
2890     --build=$build_alias \
2891     --target=$target_alias \      
2892     --enable-static \
2893     --disable-shared \
2894     --cc="$CC"
2895 ], [0])
2896
2897 XB_CONFIG_MODULE([xbmc/visualizations/XBMCProjectM/libprojectM],[
2898   set -x
2899   rm -f CMakeCache.txt &&                              \
2900   CC="$ORIGCC" CXX="$ORIGCXX" LDFLAGS="$LDFLAGS" cmake \
2901     -DCMAKE_BUILD_TYPE=None -DUSE_FTGL:BOOL=OFF        \
2902     -DCMAKE_C_FLAGS:STRING="${CPPFLAGS} ${CFLAGS}"     \
2903     -DCMAKE_CXX_FLAGS:STRING="${CPPFLAGS} ${CXXFLAGS}" \
2904     -DCMAKE_INSTALL_PREFIX="${prefix}"                 \
2905     -DCMAKE_INSTALL_LIBDIR:PATH="${libdir}"            \
2906     -DINCLUDE_INSTALL_DIR:PATH="${includedir}"         \
2907     -DLIB_INSTALL_DIR:PATH="${libdir}"                 \
2908     -DSYSCONF_INSTALL_DIR:PATH="${sysconfdir}"         \
2909     -DSHARE_INSTALL_PREFIX:PATH="${datadir}" . &&
2910   if test "$host_vendor" = "apple" ; then
2911     # cmake has hardcoded paths to macports which bork our darwin depends cross/ppc, remove them
2912     sed -ie "s|-L/opt/local/lib| |" CMakeFiles/projectM.dir/link.txt
2913     sed -ie "s|-L/opt/local/lib| |" CMakeFiles/projectM.dir/flags.make
2914     sed -ie "s|-I/opt/local/include| |" CMakeFiles/projectM.dir/flags.make
2915   fi
2916   set +x
2917 ], [$DISABLE_PROJECTM])
2918
2919 XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[
2920   ./configure  \
2921     CFLAGS="$CFLAGS" \ 
2922     CXXFLAGS="$CXXFLAGS" \
2923     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2924     --host=$host_alias \
2925     --build=$build_alias \
2926     --target=$target_alias \      
2927     --disable-shared \
2928     --enable-static \
2929     --with-pic
2930 ], [$DISABLE_GOOM])
2931
2932 XB_CONFIG_MODULE([xbmc/screensavers/rsxs-0.9/], [
2933   if test "$host_vendor" = "apple"; then
2934     # clang treats inlines different
2935     case $CC in
2936       *clang*)
2937         TEMPCFLAGS="$CFLAGS";;
2938       *)
2939         TEMPCFLAGS="${CFLAGS} -fgnu89-inline";;
2940     esac
2941   else
2942     TEMPCFLAGS="$CFLAGS";
2943   fi
2944   ./configure \
2945     CC="$CC" \
2946     CXX="$CXX" \
2947     CFLAGS="$TEMPCFLAGS" \ 
2948     CXXFLAGS="$CXXFLAGS" \
2949     `if test "$host_vendor" = "apple"; then echo --with-png=${prefix} --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib; fi` \
2950     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2951     --host=$host_alias \
2952     --build=$build_alias \
2953     --target=$target_alias \      
2954     --without-xscreensaver \
2955     --disable-sound \
2956     --disable-cyclone \
2957     --disable-fieldlines \
2958     --disable-flocks \
2959     --disable-flux \
2960     --disable-helios \
2961     --disable-hyperspace \
2962     --disable-lattice \
2963     --disable-skyrocket
2964   if echo "$ARCH" | grep -q freebsd ; then
2965     sed -i.back "s;\(STDBOOL_H = \)stdbool.h;\1;" lib/Makefile
2966   fi
2967 ], [$DISABLE_RSXS])
2968
2969 XB_CONFIG_MODULE([lib/cpluff], [
2970   ./configure --disable-nls \
2971     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2972     --host=$host_alias \
2973     --build=$build_alias \
2974     --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
2975     #LDFLAGS="$LDFLAGS -Wl,-read_only_relocs,suppress"    
2976 ], [0])
2977
2978 XB_CONFIG_MODULE([lib/gtest], [
2979   ./configure \
2980     CC="$CC" \
2981     CXX="$CXX" \
2982     CFLAGS="$CFLAGS" \
2983     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2984     --host=$host_alias \
2985     --build=$build_alias \
2986     --target=$target_alias \
2987     --disable-shared \
2988     --enable-static \
2989     --with-pthreads
2990 ], [$SKIP_CONFIG_GTEST])
2991
2992 XB_CONFIG_MODULE([pvr-addons], [
2993   ./configure \
2994     --prefix="${prefix}" \
2995     --host=$host_alias \
2996     --build=$build_alias \
2997     --target=$target_alias \
2998     CC="$CC" \
2999     CXX="$CXX" \
3000     CFLAGS="$CFLAGS" \
3001     CXXFLAGS="$CXXFLAGS"
3002 ], [$DISABLE_PVR_ADDON_CONFIG])
3003
3004 AC_OUTPUT
3005
3006 final_message="$final_message\n  prefix:\t$prefix\n$dashes"
3007 echo -e "$final_message\n"