[configure] fix static linking when ffmpeg found nettle/hogweed
[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   HOGWEED_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors hogweed nettle`
884   VORBISENC_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors vorbisenc`
885 fi 
886
887 # Checks for library functions.
888 AC_FUNC_ALLOCA
889 AC_FUNC_CHOWN
890 AC_FUNC_CLOSEDIR_VOID
891 AC_FUNC_ERROR_AT_LINE
892 AC_FUNC_FSEEKO
893 AC_PROG_GCC_TRADITIONAL
894 AC_FUNC_LSTAT
895 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
896 AC_FUNC_MEMCMP
897 AC_FUNC_MKTIME
898 AC_FUNC_MMAP
899 # Boxee is apparently having compile problems
900 # if HAVE_REALLOC is defined.  Sort this later.
901 #AC_FUNC_REALLOC
902 AC_FUNC_SELECT_ARGTYPES
903 AC_FUNC_SETVBUF_REVERSED
904 AC_TYPE_SIGNAL
905 AC_FUNC_STAT
906 AC_FUNC_STRCOLL
907 AC_FUNC_STRFTIME
908 AC_FUNC_STRTOD
909 AC_FUNC_UTIME_NULL
910 AC_FUNC_VPRINTF
911 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])
912
913 # Check for various sizes
914 AC_CHECK_SIZEOF([int])
915 AC_CHECK_SIZEOF([size_t])
916
917 # Check for intrinsics
918 AC_MSG_CHECKING([for __sync_add_and_fetch(temp, 1)])
919 AC_TRY_LINK([],[long* temp=0; long ret=__sync_add_and_fetch(temp, 1);],
920                 [have_builtin_sync_add_and_fetch=yes],
921                 [have_builtin_sync_add_and_fetch=no])
922 AC_MSG_RESULT($have_builtin_sync_add_and_fetch)
923 if test "x$have_builtin_sync_add_and_fetch" = "xyes"; then
924     AC_DEFINE(HAS_BUILTIN_SYNC_ADD_AND_FETCH, 1,
925         [Define to 1 if your compiler supports the __sync_add_and_fetch() intrinsic.])
926 fi
927
928 AC_MSG_CHECKING([for __sync_sub_and_fetch(temp, 1)])
929 AC_TRY_LINK([],[long* temp=0; long ret=__sync_sub_and_fetch(temp, 1);],
930                 [have_builtin_sync_sub_and_fetch=yes],
931                 [have_builtin_sync_sub_and_fetch=no])
932 AC_MSG_RESULT($have_builtin_sync_sub_and_fetch)
933 if test "x$have_builtin_sync_sub_and_fetch" = "xyes"; then
934     AC_DEFINE(HAS_BUILTIN_SYNC_SUB_AND_FETCH, 1,
935         [Define to 1 if your compiler supports the __sync_sub_and_fetch() intrinsic.])
936 fi
937
938 AC_MSG_CHECKING([for __sync_val_compare_and_swap(temp, 1, 1)])
939 AC_TRY_LINK([],[long *temp = 0; long ret=__sync_val_compare_and_swap(temp, 1, 1);],
940                 [have_builtin_sync_val_compare_and_swap=yes],
941                 [have_builtin_sync_val_compare_and_swap=no])
942 AC_MSG_RESULT($have_builtin_sync_val_compare_and_swap)
943 if test "x$have_builtin_sync_val_compare_and_swap" = "xyes"; then
944     AC_DEFINE(HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP, 1,
945         [Define to 1 if your compiler supports the __sync_val_compare_and_swap() intrinsic.])
946 fi
947
948 # Check for u16string/u32string declarations
949 AC_LANG_PUSH([C++])
950 AC_CHECK_TYPES([std::u16string, std::u32string], [], [], [[#include <string>]])
951 AC_CHECK_TYPES([char16_t, char32_t])
952 AC_CHECK_SIZEOF([wchar_t])
953 AC_LANG_POP([C++])
954
955 # Add top source directory for all builds so we can use config.h
956 INCLUDES="-I\$(abs_top_srcdir) $INCLUDES" 
957
958 # Check inotify availability
959 AC_CHECK_HEADER([sys/inotify.h], AC_DEFINE([HAVE_INOTIFY],[1],[Define if we have inotify]),)
960
961 # Checks for boost headers using CXX instead of CC
962 AC_LANG_PUSH([C++])
963 AC_CHECK_HEADER([boost/shared_ptr.hpp],, AC_MSG_ERROR($missing_library))
964 AC_LANG_POP([C++])
965
966 # Python
967 if test -z "$PYTHON_NOVERSIONCHECK"; then
968   AX_PYTHON_DEVEL([>= 2.4])
969   PYTHON_VERSION=$ac_python_version
970 fi
971
972 if test -z "$PYTHON_VERSION"; then
973   AC_MSG_ERROR([Can't find a Python version.])
974 else
975   LIBS="$LIBS $PYTHON_LDFLAGS"
976   AC_MSG_NOTICE([Using Python $PYTHON_VERSION])
977 fi
978
979 # Wayland
980 if test "$use_wayland" = "yes" && test "$host_vendor" != "apple"; then
981   AC_MSG_NOTICE($wayland_enabled)
982   PKG_CHECK_MODULES([WAYLAND_CLIENT],    [wayland-client],
983     [INCLUDES="$INCLUDES $WAYLAND_CLIENT_CFLAGS";
984      WAYLAND_CLIENT_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l wayland-client\`; echo ${LIBRARY:2}`;
985      XB_FIND_SONAME([WAYLAND_CLIENT_LIBRARY], ${WAYLAND_CLIENT_LIBRARY_LINE})],
986      AC_MSG_ERROR($missing_library))
987   PKG_CHECK_MODULES([WAYLAND_EGL],    [wayland-egl],
988     [INCLUDES="$INCLUDES $WAYLAND_EGL_CFLAGS";
989      WAYLAND_EGL_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l wayland-egl\`; echo ${LIBRARY:2:11}`
990      XB_FIND_SONAME([WAYLAND_EGL_LIBRARY], ${WAYLAND_EGL_LIBRARY_LINE})],
991     AC_MSG_ERROR($missing_library))
992   PKG_CHECK_MODULES([XKBCOMMON],    [xkbcommon],
993     [INCLUDES="$INCLUDES $XKBCOMMON_CFLAGS";
994      XKBCOMMON_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l xkbcommon\`; echo ${LIBRARY:2}`;
995      XB_FIND_SONAME([XKBCOMMON_LIBRARY], $XKBCOMMON_LIBRARY_LINE)],
996     AC_MSG_ERROR($missing_library))
997   AC_DEFINE([HAVE_WAYLAND], [1], [Define to 1 if you have Wayland libs installed.])
998   AC_DEFINE([HAVE_XKBCOMMON], [1], [Define to 1 if you have libxkbcommon installed.])
999
1000   # If we are also building with tests then we want to build
1001   # wayland tests as well
1002   if test "$configure_gtest" = "yes"; then
1003     have_weston_sdk=no;
1004     PKG_CHECK_MODULES([PIXMAN],
1005                       [pixman-1],have_pixman=yes,
1006                       [AC_MSG_WARN($missing_library); have_pixman=no])
1007     PKG_CHECK_MODULES([WESTON],
1008                       [weston >= 1.1.90],[have_weston_sdk=yes],
1009                       [have_weston_sdk=no; AC_MSG_WARN($missing_library)])
1010
1011     AC_CHECK_PROG(WAYLAND_SCANNER, wayland-scanner, "wayland-scanner", "no")
1012     if test "x$WAYLAND_SCANNER" == "xno"; then
1013       AC_MSG_WARN($missing_program)
1014     else
1015       if test "x$have_weston_sdk" == "xyes" && test "x$have_pixman" = "xyes"; then
1016         AC_SUBST(WAYLAND_TEST_INCLUDES,"$WAYLAND_CLIENT_CFLAGS $XKBCOMMON_CFLAGS $PIXMAN_CFLAGS $WESTON_CFLAGS")
1017         AC_SUBST(WAYLAND_TEST_LIBS,"$WAYLAND_CLIENT_LIBS $XKBCOMMON_LIBS $PIXMAN_LIBS $WESTON_LIBS")
1018         AC_DEFINE([HAVE_WESTON_SDK], [1], [Define to 1 if Weston SDK is installed.])
1019         AC_SUBST(USE_WAYLAND_TEST_EXTENSION, 1)
1020       fi
1021       AC_SUBST(WAYLAND_SCANNER)
1022       AC_DEFINE([HAVE_WAYLAND_XBMC_PROTO],[1],["Define to 1 if the wayland test-protocol will be built"])
1023     fi
1024   fi
1025
1026   # Disable SDL and X11 builds
1027   use_sdl=no
1028   use_joystick=no
1029   use_x11=no
1030
1031   # Wayland requires the EGL "window system" which in turn only supports
1032   # the OpenGL ES API, so enable gles support
1033   use_gles=yes
1034 else
1035   AC_MSG_RESULT($wayland_disabled)
1036 fi
1037
1038 # Checks for platforms libraries.
1039 if test "$use_gles" = "yes"; then
1040   use_gl="no"
1041   # GLES overwrites GL if both set to yes.
1042   if test "$host_vendor" = "apple" ; then
1043     AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."])
1044     AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
1045     AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
1046   else
1047     if test "$target_platform" = "target_raspberry_pi"; then
1048       AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."])
1049       AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
1050       AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
1051       LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm"
1052     else
1053       AC_CHECK_LIB([EGL],   [main],, AC_MSG_ERROR($missing_library))
1054       AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library))
1055     fi
1056   fi
1057 else
1058   if test "$use_gl" = "yes"; then
1059     if test "$host_vendor" = "apple" ; then
1060       # linking to OpenGL.framework instead of libGL, libGLU so AC_CHECK_LIB will fail
1061       LIBS="$LIBS -framework OpenGL"
1062       AC_DEFINE([HAVE_LIBGL],[1],["Define to 1 if you have the `GL' library (-lGL)."])
1063       AC_MSG_RESULT(== WARNING: OpenGL support is assumed.)
1064       AC_DEFINE([HAVE_LIBGLU],[1],["Define to 1 if you have the `GLU' library (-lGLU)."])
1065       AC_MSG_RESULT(== WARNING: OpenGLU support is assumed.)
1066       AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
1067     else
1068       AC_CHECK_LIB([GL],  [main],, AC_MSG_ERROR($missing_library))
1069       AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
1070       AC_CHECK_LIB([GLU], [main],, AC_MSG_ERROR($missing_library))
1071     fi
1072   else
1073     AC_MSG_RESULT(== WARNING: OpenGL support is disabled. XBMC will run VERY slow. ==)
1074     AC_CHECK_LIB([SDL_gfx],[main])
1075   fi
1076 fi
1077
1078 # platform common libraries
1079 if test "$use_mysql" = "yes"; then
1080   AC_PATH_PROG(MYSQL_CONFIG, mysql_config,"no")
1081   if test "x$MYSQL_CONFIG" != "xno"; then
1082     AC_DEFINE([HAVE_MYSQL],[1],["Define to 1 if you have the `mysql' library (-lmysqlclient)."])
1083     INCLUDES="$INCLUDES `$MYSQL_CONFIG --include`"
1084     MYSQL_LIBS=`$MYSQL_CONFIG --libs`
1085     LIBS="$LIBS $MYSQL_LIBS"
1086     AC_SUBST(MYSQL_LIBS)
1087   else
1088     AC_MSG_ERROR($missing_program)
1089   fi
1090 fi
1091 AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library))
1092 AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library))
1093 AC_CHECK_HEADER([mpeg2dec/mpeg2convert.h],, AC_MSG_ERROR($missing_library),
1094   AC_INCLUDES_DEFAULT()
1095   [#include <mpeg2dec/mpeg2.h>])
1096 AC_CHECK_HEADER([mad.h],,            AC_MSG_ERROR($missing_library))
1097 AC_CHECK_HEADER([jpeglib.h],,        AC_MSG_ERROR($missing_library))
1098 AC_CHECK_HEADER([samplerate.h],,     AC_MSG_ERROR($missing_library))
1099 AC_CHECK_HEADER([ogg/ogg.h],,        AC_MSG_ERROR($missing_library))
1100 AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library))
1101 AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library))
1102 AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library))
1103 AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library))
1104
1105 # we need to check for the header because if it exists we set the openssl
1106 # and gcrypt MT callback hooks. This is mostly so that libcurl operates 
1107 # in MT manner correctly.
1108 AC_MSG_CHECKING([for CRYPTO_set_locking_callback(0)])
1109 AC_TRY_LINK([],[CRYPTO_set_locking_callback(0);],
1110                 [have_curl_static=yes],
1111                 [have_curl_static=no])
1112 AC_MSG_RESULT($have_curl_static)
1113 AC_CHECK_HEADER([openssl/crypto.h], AC_DEFINE([HAVE_OPENSSL],[1],[Define if we have openssl]),)
1114 AC_CHECK_HEADER([gcrypt.h], gcrypt_headers_available=yes,gcrypt_headers_available=no)
1115 if test "$gcrypt_headers_available" = "yes"; then
1116    # if we have the headers then we must have the lib
1117    AC_CHECK_LIB([gpg-error],[main],, AC_MSG_ERROR($missing_library))
1118    AC_CHECK_LIB([gcrypt],[gcry_control],, AC_MSG_ERROR($missing_library))
1119    AC_DEFINE([HAVE_GCRYPT],[1],[Define if we have gcrypt])
1120 fi
1121 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"))
1122
1123 AC_CHECK_LIB([bz2],         [main],, AC_MSG_ERROR($missing_library))
1124 AC_CHECK_LIB([jpeg],        [main],, AC_MSG_ERROR($missing_library)) # check for cximage
1125 AC_CHECK_LIB([tiff],        [main],, AC_MSG_ERROR($missing_library))
1126 if echo "$ARCH" | grep -q freebsd; then
1127 AC_CHECK_LIB([pthread],     [main],LIBS="-pthread $LIBS", AC_MSG_ERROR($missing_library))
1128 AC_CHECK_LIB([pthread],     [pthread_set_name_np],
1129   AC_DEFINE([HAVE_PTHREAD_SET_NAME_NP],[1],["Define to 1 if pthread has pthread_set_name_np"]),
1130   AC_MSG_RESULT([Could not find pthread_set_name_np in pthread]))
1131 else
1132 if test "$target_platform" != "target_android" ; then
1133   AC_CHECK_LIB([pthread],     [main],, AC_MSG_ERROR($missing_library))
1134   AC_CHECK_LIB([pthread],     [pthread_setname_np],
1135     AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],["Define to 1 if pthread has pthread_setname_np"]),
1136     AC_MSG_RESULT([Could not find pthread_setname_np in pthread]))
1137 fi
1138 fi
1139 AC_CHECK_LIB([lzo2],        [main],, AC_MSG_ERROR($missing_library))
1140 AC_CHECK_LIB([z],           [main],, AC_MSG_ERROR($missing_library))
1141 AC_CHECK_LIB([crypto],      [main],, AC_MSG_ERROR($missing_library))
1142 AC_CHECK_LIB([ssl],         [main],, AC_MSG_ERROR($missing_library))
1143 if test "$use_mysql" = "yes"; then
1144   AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library))
1145 fi
1146 AC_CHECK_LIB([bluetooth],   [hci_devid],, AC_MSG_RESULT([Could not find suitable version of libbluetooth]))
1147 AC_CHECK_LIB([yajl],        [main],, AC_MSG_ERROR($missing_library))
1148 AC_CHECK_LIB([tinyxml],     [main],, AC_MSG_ERROR($missing_library))
1149 if test "$target_platform" = "target_android" ; then
1150   AC_CHECK_LIB([android],     [main],, AC_MSG_ERROR($missing_library))
1151   AC_CHECK_LIB([log],         [__android_log_vprint],, AC_MSG_ERROR($missing_library))
1152   AC_CHECK_LIB([jnigraphics],     [main],, AC_MSG_ERROR($missing_library))
1153 fi
1154 PKG_CHECK_MODULES([LIBXML], [libxml-2.0],
1155   [INCLUDES="$INCLUDES $LIBXML_CFLAGS"; LIBS="$LIBS $LIBXML_LIBS"],
1156   AC_MSG_ERROR($missing_library))
1157 PKG_CHECK_MODULES([LIBXSLT], [libxslt],
1158   [INCLUDES="$INCLUDES $LIBXSLT_CFLAGS"; LIBS="$LIBS $LIBXSLT_LIBS"],
1159   AC_MSG_ERROR($missing_library))
1160 PKG_CHECK_MODULES([FRIBIDI],    [fribidi],
1161   [INCLUDES="$INCLUDES $FRIBIDI_CFLAGS"; LIBS="$LIBS $FRIBIDI_LIBS"],
1162   AC_MSG_ERROR($missing_library))
1163 PKG_CHECK_MODULES([SQLITE3],    [sqlite3],
1164   [INCLUDES="$INCLUDES $SQLITE3_CFLAGS"; LIBS="$LIBS $SQLITE3_LIBS"],
1165   AC_MSG_ERROR($missing_library))
1166 PKG_CHECK_MODULES([PNG],        [libpng],
1167   [INCLUDES="$INCLUDES $PNG_CFLAGS"; LIBS="$LIBS $PNG_LIBS"],
1168   AC_MSG_ERROR($missing_library))
1169 PKG_CHECK_MODULES([PCRECPP],    [libpcrecpp],
1170   [INCLUDES="$INCLUDES $PCRECPP_CFLAGS"; LIBS="$LIBS $PCRECPP_LIBS"]; \
1171   AC_DEFINE([HAVE_LIBPCRECPP],[1],["Define to 1 if libpcrecpp is installed"]),
1172   AC_MSG_ERROR($missing_library))
1173 PKG_CHECK_MODULES([PCRE],       [libpcre],
1174   [INCLUDES="$INCLUDES $PCRE_CFLAGS"; LIBS="$LIBS $PCRE_LIBS"]; \
1175   AC_DEFINE([HAVE_LIBPCRE],[1],["Define to 1 if libpcre is installed"]),
1176   AC_MSG_ERROR($missing_library))
1177 PKG_CHECK_MODULES([SAMPLERATE], [samplerate],
1178   [INCLUDES="$INCLUDES $SAMPLERATE_CFLAGS"; LIBS="$LIBS $SAMPLERATE_LIBS"],
1179   AC_MSG_ERROR($missing_library))
1180 PKG_CHECK_MODULES([FREETYPE2],  [freetype2],
1181   [INCLUDES="$INCLUDES $FREETYPE2_CFLAGS"; LIBS="$LIBS $FREETYPE2_LIBS"],
1182   AC_MSG_ERROR($missing_library))
1183 PKG_CHECK_MODULES([TAGLIB],  [taglib >= 1.8],
1184   [INCLUDES="$INCLUDES $TAGLIB_CFLAGS"; LIBS="$LIBS $TAGLIB_LIBS"],
1185   AC_MSG_ERROR($missing_library))
1186
1187 if test "$use_optical_drive" = "yes"; then
1188   PKG_CHECK_MODULES([CDIO],       [libcdio],
1189     [INCLUDES="$INCLUDES $CDIO_CFLAGS"; LIBS="$LIBS $CDIO_LIBS"],
1190     AC_MSG_ERROR($missing_library))
1191 fi
1192
1193 if test "$target_platform" = "target_android" ; then
1194 PKG_CHECK_MODULES([ZIP],       [libzip],
1195   [INCLUDES="$INCLUDES $ZIP_CFLAGS"; LIBS="$LIBS $ZIP_LIBS"],
1196   AC_MSG_ERROR($missing_library))
1197 fi
1198
1199 # check for libbluray
1200 AS_CASE([x$use_libbluray],
1201   [xyes],[
1202     PKG_CHECK_MODULES([LIBBLURAY],[libbluray >= 0.2.1],[use_libbluray="yes"], AC_MSG_ERROR($missing_library))
1203   ],
1204   [xauto],[
1205     PKG_CHECK_MODULES([LIBBLURAY],[libbluray >= 0.2.1],[use_libbluray="yes"], [use_libbluray="no"])
1206   ])
1207
1208 AS_CASE([x$use_libbluray],
1209   [xyes],[
1210     INCLUDES="$INCLUDES $LIBBLURAY_CFLAGS";
1211     XB_FIND_SONAME([BLURAY], [bluray], [use_libbluray])
1212     AC_DEFINE([HAVE_LIBBLURAY], 1, [System has libbluray library])
1213     AC_SUBST([HAVE_LIBBLURAY], 1)
1214     AC_CHECK_LIB([bluray], [bd_register_argb_overlay_proc],
1215       AC_CHECK_DECL([BD_EVENT_IDLE],
1216         AC_DEFINE([HAVE_LIBBLURAY_BDJ], 1, [System has libbluray library with bdj support]),,
1217         [[#include <libbluray/bluray.h>]]))
1218   ],[
1219     AC_SUBST([HAVE_LIBBLURAY], 0)
1220   ]
1221 )
1222
1223 #Check to see if libs are needed for functions that are often built-in to libc
1224 AC_SEARCH_LIBS([iconv_open],iconv,,AC_SEARCH_LIBS([libiconv_open],iconv,,AC_MSG_ERROR($missing_library)))
1225 AC_SEARCH_LIBS([dlopen],dl)
1226 AC_SEARCH_LIBS([clock_gettime],rt)
1227 AC_SEARCH_LIBS([dn_expand],  resolv)
1228 AC_SEARCH_LIBS([_dn_expand], resolv)
1229 AC_SEARCH_LIBS([__dn_expand],resolv)
1230
1231 # platform dependent libraries
1232 if test "$host_vendor" = "apple" ; then
1233   if test "$use_arch" != "arm"; then
1234     AC_CHECK_LIB([SDL],      [main],, AC_MSG_ERROR($missing_library))
1235     AC_DEFINE([HAVE_SDL],[1],["Define to 1 if using sdl"])
1236   fi
1237 else
1238 if test "$target_platform" != "target_android" ; then
1239   AC_CHECK_LIB([jasper],     [main],, AC_MSG_ERROR($missing_library)) # check for cximage
1240 fi
1241 if test "x$use_alsa" != "xno"; then
1242   PKG_CHECK_MODULES([ALSA],  [alsa],
1243     [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"; use_alsa=yes],
1244     AC_MSG_NOTICE($alsa_not_found); use_alsa=no)
1245 fi
1246   PKG_CHECK_MODULES([DBUS],    [dbus-1],
1247     [INCLUDES="$INCLUDES $DBUS_CFLAGS"; LIBS="$LIBS $DBUS_LIBS"; use_dbus=yes]; \
1248     AC_DEFINE([HAVE_DBUS],[1],["Define to 1 if dbus is installed"]),
1249     AC_MSG_NOTICE($missing_library); use_dbus=no)
1250   if test "x$use_sdl" != "xno"; then
1251     PKG_CHECK_MODULES([SDL],   [sdl],
1252       [INCLUDES="$INCLUDES $SDL_CFLAGS"; LIBS="$LIBS $SDL_LIBS"],
1253       AC_MSG_ERROR($missing_library))
1254     AC_CHECK_LIB([SDL_image],  [main],, AC_MSG_ERROR($missing_library))
1255     AC_DEFINE([HAVE_SDL],[1],["Define to 1 if using sdl"])
1256   fi
1257 fi
1258
1259 XB_FIND_SONAME([MAD],         [mad])
1260 XB_FIND_SONAME([OGG],         [ogg])
1261 XB_FIND_SONAME([CURL],        [curl])
1262 XB_FIND_SONAME([FLAC],        [FLAC])
1263 XB_FIND_SONAME([VORBIS],      [vorbis])
1264 XB_FIND_SONAME([VORBISFILE],  [vorbisfile])
1265 XB_FIND_SONAME([MODPLUG],     [modplug])
1266 XB_FIND_SONAME([ASS],         [ass])
1267 XB_FIND_SONAME([MPEG2],       [mpeg2])
1268
1269 # Audio encoders
1270 if test "x$use_libmp3lame" != "xno"; then
1271   XB_FIND_SONAME([LAMEENC], [mp3lame], [use_libmp3lame])
1272   if test "x$use_libmp3lame" != "xno"; then
1273     AC_CHECK_HEADER([lame/lame.h],, AC_MSG_ERROR($missing_headers))
1274   fi
1275 fi
1276 AS_CASE([x$use_libmp3lame],
1277   [xno],[
1278     AC_SUBST([HAVE_LIBMP3LAME], 0)
1279   ],
1280   [
1281     AC_DEFINE([HAVE_LIBMP3LAME], 1, [System has libmp3lame library])
1282     AC_SUBST([HAVE_LIBMP3LAME], 1)
1283   ]
1284 )
1285 if test "x$use_libvorbisenc" != "xno"; then
1286   XB_FIND_SONAME([VORBISENC], [vorbisenc], [use_libvorbisenc])
1287   if test "x$use_libvorbisenc" != "xno"; then
1288     AC_CHECK_HEADER([vorbis/vorbisenc.h],, AC_MSG_ERROR($missing_headers))
1289   fi
1290 fi
1291 AS_CASE([x$use_libvorbisenc],
1292   [xno],[
1293     AC_SUBST([HAVE_LIBVORBISENC], 0)
1294   ],[
1295     AC_DEFINE([HAVE_LIBVORBISENC], 1, [System has libvorbisenc library])
1296     AC_SUBST([HAVE_LIBVORBISENC], 1)
1297   ]
1298 )
1299
1300 # WebServer
1301 if test "$use_webserver" = "yes"; then
1302   AC_CHECK_LIB([microhttpd],  [main],, AC_MSG_ERROR($missing_library))
1303 fi
1304
1305 # Optical
1306 if test "$use_optical_drive" = "yes"; then
1307   AC_DEFINE([HAS_DVD_DRIVE], [1], [Define to 1 to have optical drive support])
1308 fi
1309
1310 # Alsa
1311 if test "$use_alsa" = "yes" && test "$host_vendor" != "apple"; then
1312   PKG_CHECK_MODULES([ALSA],  [alsa],
1313     [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"],
1314     AC_MSG_ERROR($missing_library))
1315   AC_DEFINE([HAS_ALSA], [1], [Define to 0 to disable ALSA support])
1316 else
1317   use_alsa="no"
1318   AC_MSG_RESULT($alsa_disabled)
1319 fi
1320
1321 # PulseAudio
1322 if test "x$use_pulse" != "xno"; then
1323   if test "$host_vendor" = "apple" ; then
1324     if test "x$use_pulse" = "xyes"; then
1325       AC_MSG_ERROR($pulse_disabled)
1326     else
1327       use_pulse="no"
1328       AC_MSG_RESULT($pulse_disabled)
1329     fi
1330     USE_PULSE=0
1331   else
1332     PKG_CHECK_MODULES([PULSE], [libpulse >= 1.0],
1333       [INCLUDES="$INCLUDES $PULSE_CFLAGS"; LIBS="$LIBS $PULSE_LIBS"; USE_PULSE=1;
1334         HAVE_LIBPULSE=1; AC_DEFINE([HAVE_LIBPULSE],[1],[Pulse audio enabled])],
1335       [pulse_found="no"; USE_PULSE=0; HAVE_LIBPULSE=0])
1336
1337     if test "$pulse_found" = "no"; then
1338       if test "x$use_pulse" = "xyes"; then
1339         AC_MSG_ERROR($pulse_not_found)
1340       else
1341         AC_MSG_RESULT($pulse_disabled)
1342       fi
1343     fi
1344   fi
1345 else
1346   AC_MSG_RESULT($pulse_disabled)
1347   USE_PULSE=0
1348 fi
1349
1350 # HAL
1351 if test "$host_vendor" = "apple" ; then
1352   use_hal="no"
1353   AC_MSG_RESULT($hal_disabled)
1354 else
1355   if test "$use_hal" = "yes"; then
1356     PKG_CHECK_MODULES([HAL], [hal],
1357       [INCLUDES="$INCLUDES $HAL_CFLAGS"; LIBS="$LIBS $HAL_LIBS"],
1358       use_hal=no;AC_MSG_RESULT($hal_not_found))
1359     PKG_CHECK_MODULES([HAL_STORAGE], [hal-storage],
1360       [INCLUDES="$INCLUDES $HAL_STORAGE_CFLAGS"; LIBS="$LIBS $HAL_STORAGE_LIBS"],
1361       use_hal=no;AC_MSG_RESULT($halstorage_not_found))
1362   else
1363     AC_MSG_RESULT($hal_disabled)
1364   fi
1365   if test "$use_hal" = "yes"; then
1366     AC_DEFINE([HAS_HAL], [1], [Define to 1 if you have HAL installed])
1367   fi
1368 fi
1369
1370 # avahi
1371 if test "$host_vendor" = "apple" ; then
1372   use_avahi="no"
1373   AC_MSG_RESULT($avahi_disabled)
1374 else
1375   if test "$use_avahi" = "yes"; then
1376     AC_CHECK_LIB([avahi-common], [main],,
1377       use_avahi=no;AC_MSG_RESULT($avahi_not_found))
1378     if test "$use_avahi" = "yes"; then
1379       #either both libs or none
1380       AC_CHECK_LIB([avahi-client], [main],,
1381         use_avahi=no;AC_MSG_RESULT($avahi_not_found))
1382     fi
1383   else
1384     AC_MSG_RESULT($avahi_disabled)
1385   fi
1386 fi
1387
1388 # mdnsembedded
1389 if test "$use_mdnsembedded" != "no"; then
1390   AC_CHECK_LIB([mDNSEmbedded], [embedded_mDNSInit],,
1391     [if test "$use_mdnsembedded" = "yes"; then
1392       AC_MSG_ERROR($mdnsembedded_not_found)
1393       USE_MDNSEMBEDDED=0
1394     elif test "$use_mdnsembedded" != "no"; then
1395       AC_MSG_NOTICE($mdnsembedded_not_found)
1396       use_mdnsembedded="no"
1397       USE_MDNSEMBEDDED=0
1398     fi
1399    ])
1400   if test $use_mdnsembedded != "no"; then
1401     USE_MDNSEMBEDDED=1
1402   fi
1403 else
1404   AC_MSG_RESULT($mdnsembedded_disabled)
1405   USE_MDNSEMBEDDED=0
1406 fi
1407 AC_SUBST(USE_MDNSEMBEDDED)
1408
1409 # X11
1410 if test "$use_x11" = "yes" && test "$host_vendor" != "apple"; then
1411   AC_MSG_NOTICE($x11_enabled)
1412   PKG_CHECK_MODULES([X11],    [x11],
1413     [INCLUDES="$INCLUDES $X11_CFLAGS"; LIBS="$LIBS $X11_LIBS"],
1414     AC_MSG_ERROR($missing_library))
1415   PKG_CHECK_MODULES([XEXT],  [xext],
1416     [INCLUDES="$INCLUDES $XEXT_CFLAGS"; LIBS="$LIBS $XEXT_LIBS"],
1417     AC_MSG_ERROR($missing_library))
1418   AC_DEFINE([HAVE_X11], [1], [Define to 1 if you have X11 libs installed.])
1419 else
1420   AC_MSG_RESULT($x11_disabled)
1421 fi
1422
1423 # XRandR
1424 if test "$host_vendor" = "apple" || test "$use_x11" = "no"; then
1425   use_xrandr="no"
1426   AC_MSG_RESULT($xrandr_disabled)
1427 else
1428   if test "$use_xrandr" = "yes" ; then
1429     AC_CHECK_LIB([Xrandr], [main],,
1430       use_xrandr="no";AC_MSG_RESULT($xrandr_not_found))
1431   else
1432     AC_MSG_RESULT($xrandr_disabled)
1433   fi
1434 fi
1435
1436 # WAVEFORM
1437 if test "$use_waveform" = "yes"; then
1438   AC_MSG_NOTICE($waveform_enabled)
1439     DISABLE_WAVEFORM=0
1440 else
1441   AC_MSG_NOTICE($waveform_disabled)
1442   DISABLE_WAVEFORM=1
1443 fi
1444
1445 # SPECTRUM
1446 if test "$use_spectrum" = "yes"; then
1447   AC_MSG_NOTICE($spectrum_enabled)
1448     DISABLE_SPECTRUM=0
1449 else
1450   AC_MSG_NOTICE($spectrum_disabled)
1451   DISABLE_SPECTRUM=1
1452 fi
1453
1454 # GOOM
1455 if test "$host_vendor" = "apple" ; then
1456   AC_MSG_NOTICE($goom_disabled)
1457   DISABLE_GOOM=1
1458 else
1459   if test "$use_goom" = "yes" && test "$use_gl" = "yes"; then
1460     AC_MSG_NOTICE($goom_enabled)
1461     DISABLE_GOOM=0
1462   else
1463     AC_MSG_NOTICE($goom_disabled)
1464     DISABLE_GOOM=1
1465   fi
1466 fi
1467
1468 # RSXS
1469 if test "$use_rsxs" = "no" || test "$use_gl" = "no"; then
1470   AC_MSG_NOTICE($rsxs_disabled)
1471   DISABLE_RSXS=1
1472 else
1473   AC_MSG_NOTICE($rsxs_enabled)
1474   DISABLE_RSXS=0
1475   # darwin osx can do rsxs but does not use x11, so do not pkg-config check for them
1476   if test "$host_vendor" != "apple" ; then
1477     PKG_CHECK_MODULES([XT],    [xt],
1478       [INCLUDES="$INCLUDES $XT_CFLAGS"; LIBS="$LIBS $XT_LIBS"],
1479       AC_MSG_ERROR($missing_library))
1480     PKG_CHECK_MODULES([XMU],   [xmu],
1481       [INCLUDES="$INCLUDES $XMU_CFLAGS"; LIBS="$LIBS $XMU_LIBS"],
1482       AC_MSG_ERROR($missing_library))
1483   fi
1484 fi
1485
1486 # FISHBMC
1487 if test "$use_fishbmc" = "no" || test "$use_gl" = "no"; then
1488   AC_MSG_NOTICE($fishbmc_disabled)   
1489   DISABLE_FISHBMC=1
1490   use_fishbmc="no"
1491 else
1492   AC_MSG_NOTICE($fishbmc_enabled)
1493   DISABLE_FISHBMC=0
1494 fi
1495
1496 # PROJECTM
1497 if test "$use_projectm" = "no" || test "$use_gl" = "no"; then
1498   AC_MSG_NOTICE($projectm_disabled)
1499   DISABLE_PROJECTM=1
1500   use_projectm="no"
1501 else
1502   AC_MSG_NOTICE($projectm_enabled)
1503   DISABLE_PROJECTM=0
1504 fi
1505
1506 # skin touched
1507 use_skin_touched=no
1508 if [[ -f "addons/skin.touched/addon.xml" ]]; then 
1509   use_skin_touched=yes
1510   USE_SKIN_TOUCHED=1
1511   AC_DEFINE([HAS_SKIN_TOUCHED], [1], [Whether to build skin touched.])
1512 else
1513   USE_SKIN_TOUCHED=0
1514 fi
1515
1516 # libssh
1517 if test "x$use_ssh" = "xno"; then
1518   AC_MSG_NOTICE($ssh_disabled)
1519   use_libssh="no"
1520 else
1521   AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_ERROR($ssh_not_found))
1522   AC_DEFINE([HAVE_LIBSSH], [1], [Whether to use libSSH library.])
1523 fi
1524
1525 # libcurl
1526 if test "x$have_curl_static" = "xyes"; then
1527   AC_DEFINE([HAS_CURL_STATIC], [1], [Whether OpenSSL inside libcurl is static.])
1528 fi
1529
1530 # libRTMP
1531 if test "$use_librtmp" != "no"; then
1532   PKG_CHECK_MODULES([LIBRTMP], [librtmp],
1533     [INCLUDES="$INCLUDES $LIBRTMP_CFLAGS"; LIBS="$LIBS $LIBRTMP_LIBS";
1534       AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])
1535       RTMP_ALL_LIBS=$(${PKG_CONFIG} --static --libs-only-l --silence-errors librtmp)
1536       test "$use_static_ffmpeg" = "yes" && LIBS="$LIBS $RTMP_ALL_LIBS"],
1537     [AC_CHECK_HEADERS([librtmp/log.h librtmp/amf.h librtmp/rtmp.h],,
1538       [if test "$use_librtmp" = "yes"; then
1539         AC_MSG_ERROR($librtmp_not_found)
1540       elif test "$use_librtmp" != "no"; then
1541         AC_MSG_NOTICE($librtmp_not_found)
1542         use_librtmp="no"
1543       fi
1544       ])
1545       if test "$use_librtmp" != "no"; then
1546         XB_FIND_SONAME([RTMP], [rtmp], [use_librtmp])
1547       fi
1548       if test "$use_librtmp" != "no"; then
1549         AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])
1550       fi
1551     ])
1552 else
1553   AC_MSG_NOTICE($librtmp_disabled)
1554 fi
1555
1556 # samba
1557 if test "x$use_samba" != "xno"; then
1558   PKG_CHECK_MODULES([SAMBA], [smbclient],
1559     [INCLUDES="$INCLUDES $SAMBA_CFLAGS"; LIBS="$LIBS $SAMBA_LIBS"],
1560     [AC_CHECK_LIB([smbclient], [main],,
1561       use_samba=no;AC_MSG_ERROR($missing_library))
1562       USE_LIBSMBCLIENT=0
1563     ])
1564 else
1565   AC_MSG_RESULT($samba_disabled)
1566   USE_LIBSMBCLIENT=0
1567 fi
1568
1569 if test "x$use_samba" != "xno"; then
1570   AC_DEFINE([HAVE_LIBSMBCLIENT], [1], [Define to 1 if you have Samba installed])
1571   USE_LIBSMBCLIENT=1
1572 fi
1573
1574 # libnfs
1575 if test "$use_libnfs" != "no"; then
1576   AC_CHECK_HEADERS([nfsc/libnfs.h],,
1577    [if test "$use_libnfs" = "yes"; then
1578       AC_MSG_ERROR($libnfs_not_found)
1579       USE_LIBNFS=0
1580     elif test "$use_libnfs" != "no"; then
1581       AC_MSG_NOTICE($libnfs_not_found)
1582       use_libnfs="no"
1583       USE_LIBNFS=0
1584     fi
1585    ])
1586   if test "$use_libnfs" != "no"; then
1587     XB_FIND_SONAME([NFS], [nfs], [use_libnfs])
1588   fi
1589   if test "$use_libnfs" != "no"; then
1590     AC_DEFINE([HAVE_LIBNFS], [1], [Whether to use libnfs library.])
1591     USE_LIBNFS=1
1592   fi
1593 else
1594   USE_LIBNFS=0
1595   AC_MSG_NOTICE($libnfs_disabled)
1596 fi
1597
1598 # libafpclient
1599 USE_LIBAFPCLIENT=0
1600 if test "x$use_libafpclient" != "xno"; then
1601   AC_CHECK_HEADERS([afpfs-ng/libafpclient.h],,
1602    [if test "x$use_libafpclient" = "xyes"; then
1603       AC_MSG_ERROR($libafpclient_not_found)
1604     elif test "x$use_libafpclient" != "xno"; then
1605       AC_MSG_NOTICE($libafpclient_not_found)
1606       use_libafpclient="no"
1607     fi
1608    ])
1609   if test "x$use_libafpclient" != "xno"; then
1610     XB_FIND_SONAME([AFPCLIENT], [afpclient], [use_libafpclient])
1611     AC_DEFINE([HAVE_LIBAFPCLIENT], [1], [Whether to use libafpclient library.])
1612     USE_LIBAFPCLIENT=1
1613   fi
1614 else
1615   AC_MSG_NOTICE($libafpclient_disabled)
1616 fi
1617
1618 # libplist for airplay feature
1619 USE_AIRPLAY=0
1620 if test "$use_airplay" != "no"; then
1621   AC_CHECK_HEADER([plist/plist.h],,
1622    [if test "$use_airplay" = "yes"; then
1623       AC_MSG_ERROR($libplist_not_found)
1624     elif test "$use_airplay" != "no"; then
1625       AC_MSG_NOTICE($libplist_not_found)
1626       use_airplay="no"
1627     fi
1628    ])
1629
1630   if test "$use_airplay" != "no"; then
1631     XB_FIND_SONAME([PLIST], [plist], [use_airplay])
1632     USE_AIRPLAY=1
1633     AC_DEFINE([HAVE_LIBPLIST],[1],["Define to 1 if you have libplist."])
1634   fi
1635 fi
1636
1637 # libshairplay for AirTunes (prefered lib)
1638 USE_AIRTUNES=0
1639 if test "x$use_airtunes" != "xno"; then
1640   AC_CHECK_HEADERS([shairplay/raop.h],USE_AIRTUNES=1,
1641    [AC_MSG_NOTICE($libshairplay_not_found)
1642    ])
1643
1644   if test "x$USE_AIRTUNES" != "x0"; then
1645     XB_FIND_SONAME([SHAIRPLAY], [shairplay], [USE_AIRTUNES])
1646     USE_LIBSHAIRPLAY=1
1647     AC_CHECK_MEMBERS([struct raop_callbacks_s.cls],,,
1648                      [[#include <shairplay/raop.h>]])
1649     AC_DEFINE([HAVE_LIBSHAIRPLAY],[1],["Define to 1 if you have libshairplay."])
1650   fi
1651
1652   #libshairport - as a fallback for AirTunes
1653   if test "x$USE_AIRTUNES" == "x0"; then
1654     AC_CHECK_HEADERS([shairport/shairport.h],USE_AIRTUNES=1,
1655      [AC_MSG_NOTICE($libshairport_not_found)
1656      ])
1657
1658     if test "x$USE_AIRTUNES" != "x0"; then
1659       XB_FIND_SONAME([SHAIRPORT], [shairport], [USE_AIRTUNES])
1660       AC_CHECK_MEMBERS([struct AudioOutput.ao_set_metadata],,,
1661                        [[#include <shairport/shairport.h>]])
1662       AC_DEFINE([HAVE_LIBSHAIRPORT],[1],["Define to 1 if you have libshairport."])
1663     fi
1664   fi
1665
1666   if test "x$USE_AIRTUNES" == "x0"; then
1667     if test "x$use_airtunes" == "xyes"; then
1668       AC_MSG_ERROR("No airtunes library could be found. (libshairport/libshairplay)")
1669     fi
1670     use_airtunes="no"
1671   fi
1672 fi
1673
1674 # libudev
1675 USE_LIBUDEV=0
1676 if test "$host_vendor" = "apple" ; then
1677   use_libudev="no"
1678   AC_MSG_NOTICE($libudev_disabled)
1679 else
1680   if test "$use_libudev" = "auto"; then
1681     PKG_CHECK_MODULES([UDEV],[libudev],,[use_libudev="no";AC_MSG_RESULT($libudev_not_found)])
1682   elif test "$use_libudev" = "yes" ; then
1683     PKG_CHECK_MODULES([UDEV],[libudev],,[use_libudev="no";AC_MSG_ERROR($libudev_not_found)])
1684   else
1685     AC_MSG_NOTICE($libudev_disabled)
1686   fi
1687
1688   if test "x$use_libudev" != "xno"; then
1689     USE_LIBUDEV=1;INCLUDES="$INCLUDES $UDEV_CFLAGS";LIBS="$LIBS $UDEV_LIBS"
1690     AC_DEFINE([HAVE_LIBUDEV],[1],["Define to 1 if libudev is installed"])
1691   fi
1692 fi
1693
1694 # libusb
1695 USE_LIBUSB=0
1696
1697 # if libudev is available, we don't need libusb
1698 if test "x$use_libudev" != "xno"; then
1699   use_libusb="no"
1700   AC_MSG_NOTICE($libusb_disabled_udev_found)
1701 else
1702   if test "$host_vendor" = "apple" ; then
1703     use_libusb="no"
1704     AC_MSG_NOTICE($libusb_disabled)
1705   else
1706     if echo "$ARCH" | grep -q freebsd ; then
1707       AC_CHECK_LIB([usb],[main],
1708                 [use_libusb="yes";USB_LIBS="-lusb"],
1709                 [use_libusb="no";AC_MSG_RESULT($libusb_not_found)])
1710     elif test "$use_libusb" = "auto"; then
1711       PKG_CHECK_MODULES([USB],[libusb],,[use_libusb="no";AC_MSG_RESULT($libusb_not_found)])
1712     elif test "$use_libusb" = "yes"; then
1713       PKG_CHECK_MODULES([USB],[libusb],,[use_libusb="no";AC_MSG_ERROR($libusb_not_found)])
1714     else
1715       AC_MSG_NOTICE($libusb_disabled)
1716     fi
1717   
1718     if test "x$use_libusb" != "xno"; then
1719       USE_LIBUSB=1;INCLUDES="$INCLUDES $USB_CFLAGS";LIBS="$LIBS $USB_LIBS"
1720       AC_DEFINE([HAVE_LIBUSB],[1],["Define to 1 if libusb is installed"])
1721     fi
1722   fi
1723 fi
1724
1725 # libcec
1726 USE_LIBCEC=0
1727 if test "x$use_libcec" != "xno"; then
1728   # libcec is dyloaded, so we need to check for its headers and link any depends.
1729   if test "x$use_libcec" != "xno"; then
1730     if test "x$use_libcec" != "xauto"; then
1731       PKG_CHECK_MODULES([CEC],[libcec >= 2.1.0],,[use_libcec="no";AC_MSG_ERROR($libcec_disabled)])
1732     else
1733       PKG_CHECK_MODULES([CEC],[libcec >= 2.1.0],,[use_libcec="no";AC_MSG_RESULT($libcec_disabled)])
1734     fi
1735
1736     if test "x$use_libcec" != "xno"; then
1737       INCLUDES="$INCLUDES $CEC_CFLAGS"
1738       USE_LIBCEC=1;AC_DEFINE([HAVE_LIBCEC],[1],["Define to 1 if libcec is installed"])
1739       XB_FIND_SONAME([LIBCEC],[cec],[use_libcec])
1740       AC_MSG_NOTICE($libcec_enabled)
1741     else
1742       use_libcec="no"
1743       AC_MSG_NOTICE($libcec_disabled)
1744     fi
1745   fi
1746 else
1747   use_libcec="no"
1748   AC_MSG_NOTICE($libcec_disabled)
1749 fi
1750
1751 # libcap
1752 if test "$use_libcap" != "no"; then
1753   AC_CHECK_HEADERS([sys/capability.h],,
1754    [if test "$use_libcap" = "yes"; then
1755       AC_MSG_ERROR($libcap_not_found)
1756     elif test "$use_libcap" != "no"; then
1757       AC_MSG_NOTICE($libcap_not_found)
1758       use_libcap="no"
1759     fi
1760    ])
1761   if test "$use_libcap" != "no"; then
1762     AC_CHECK_LIB([cap], main, LIBS="$LIBS -lcap", use_libcap=no)
1763   fi
1764   if test "$use_libcap" != "no"; then
1765     AC_DEFINE([HAVE_LIBCAP], [1], [Whether to use libcap library.])
1766   fi
1767 else
1768   AC_MSG_NOTICE($libcap_disabled)
1769 fi
1770
1771 ### External libraries checks
1772
1773 # Hacks for supporting libav
1774
1775 USE_LIBAV_HACKS=0
1776 if test "$use_libav_hacks" = "yes"; then
1777     export PKG_CONFIG_PATH="${srcdir}/lib/xbmc-libav-hacks/pkgconfig/:$PKG_CONFIG_PATH"
1778     USE_LIBAV_HACKS=1
1779     AC_DEFINE([USE_LIBAV_HACKS], [1], [Whether to use libav compatibility hacks.])
1780 fi
1781
1782 # External FFmpeg
1783 if test "$use_external_ffmpeg" = "yes"; then
1784   FFMPEG_LIBNAMES="libavcodec libavfilter libavformat libavutil libpostproc libswscale libswresample"
1785
1786   PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
1787                     [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"],
1788                     AC_MSG_ERROR($missing_library))
1789
1790   # in case the headers are in a custom directory
1791   SAVE_CPPFLAGS="$CPPFLAGS"
1792   CPPFLAGS="$CPPFLAGS $FFMPEG_CFLAGS"
1793
1794   AC_CHECK_HEADERS([libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h libavutil/avutil.h libpostproc/postprocess.h libswscale/swscale.h],,
1795   [AC_MSG_ERROR($missing_headers)])
1796
1797   AC_MSG_NOTICE($external_ffmpeg_enabled)
1798   USE_EXTERNAL_FFMPEG=1
1799   AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
1800
1801   CPPFLAGS="$SAVE_CPPFLAGS"
1802 else
1803   AC_MSG_NOTICE($external_ffmpeg_disabled)
1804   USE_EXTERNAL_FFMPEG=0
1805 fi
1806
1807 echo "Checking for SWIG installation"
1808 AC_PATH_PROG(SWIG_EXE, swig, "none")
1809 if test "$SWIG_EXE" = "none"; then
1810   AC_PATH_PROG(SWIG20_EXE, swig2.0, "none")
1811   if test "$SWIG20_EXE" != "none" ; then
1812     SWIG_EXE=$SWIG20_EXE
1813   fi
1814 fi
1815 if test "$SWIG_EXE" = "none"; then
1816   AC_MSG_ERROR($missing_program)
1817 fi
1818 final_message="$final_message\n  SWIG Available:\tYes"
1819
1820 echo "Checking for a jre installation"
1821 AC_PATH_PROG(JAVA_EXE, java, "none")
1822 if test "$JAVA_EXE" = "none"; then
1823   AC_MSG_ERROR($missing_program)
1824 fi
1825 final_message="$final_message\n  JRE Available:\tYes"
1826
1827 echo "Checking for doxygen installation"
1828 AC_PATH_PROG(DOXYGEN_EXE, doxygen, "none")
1829 if test "$DOXYGEN_EXE" = "none"; then
1830   AC_MSG_WARN([Unable to find doxygen installation. Will not be able to make docstrings for the python api])
1831   final_message="$final_message\n  Doxygen Available:\tNo"
1832   USE_DOXYGEN=0
1833 else
1834   final_message="$final_message\n  Doxygen Available:\tYes"
1835   USE_DOXYGEN=1
1836 fi
1837
1838 # VDPAU
1839 if test "x$use_vdpau" != "xno"; then
1840   if test "$host_vendor" = "apple" ; then
1841     if test "x$use_vdpau" = "xyes"; then
1842       AC_MSG_ERROR([VDPAU not supported on this platform])
1843     else
1844       use_vdpau="no"
1845       AC_MSG_NOTICE($vdpau_disabled)
1846     fi
1847     USE_VDPAU=0
1848   else
1849     USE_VDPAU=1
1850     AC_CHECK_HEADER([vdpau/vdpau.h],AC_DEFINE([HAVE_LIBVDPAU], [],
1851       [Define to 1 if you have the 'vdpau' library (-lvdpau).]),
1852     [if test "x$use_vdpau" = "xyes"; then
1853       USE_VDPAU=0
1854       AC_MSG_ERROR([$vdpau_not_found])
1855     else
1856       use_vdpau="no"
1857       USE_VDPAU=0
1858       AC_MSG_RESULT($vdpau_not_found)
1859     fi])
1860   fi
1861 else
1862   USE_VDPAU=0
1863   AC_MSG_NOTICE($vdpau_disabled)
1864 fi
1865
1866 # VAAPI
1867 if test "x$use_vaapi" != "xno"; then
1868   if test "$host_vendor" = "apple" ; then
1869     if test "x$use_vaapi" = "xyes"; then
1870       AC_MSG_ERROR([VAAPI not supported on this platform])
1871     else
1872       use_vaapi="no"
1873       AC_MSG_NOTICE($vaapi_disabled)
1874     fi
1875     USE_VAAPI=0
1876   else
1877     initial_val=$use_vaapi
1878     AC_CHECK_LIB([va], main, :, use_vaapi=no)
1879     if test "x$use_vaapi" != "xno"; then
1880       AC_CHECK_LIB([va-glx], main, LIBS="-lva -lva-glx $LIBS", use_vaapi=no, -lva)
1881     fi
1882
1883     if test "x$use_vaapi" = "xno"; then
1884       if test "x$initial_val" = "xyes"; then
1885         AC_MSG_ERROR($vaapi_not_found)
1886       else
1887         AC_MSG_RESULT($vaapi_not_found)
1888       fi
1889       USE_VAAPI=0
1890     else
1891       AC_DEFINE([HAVE_LIBVA], [1], [Define to 1 if you have the 'vaapi' libraries (-lva AND -lva-glx)])
1892       USE_VAAPI=1
1893     fi
1894   fi
1895 else
1896   AC_MSG_NOTICE($vaapi_disabled)
1897   USE_VAAPI=0
1898 fi
1899
1900 # CrystalHD
1901 if test "x$use_crystalhd" != "xno"; then
1902   SAVE_CFLAGS="$CFLAGS"
1903   CFLAGS="-D__LINUX_USER__"
1904   AC_CHECK_HEADER([libcrystalhd/libcrystalhd_if.h], [],
1905     [ if test "x$use_crystalhd" = "xyes"; then
1906         AC_MSG_ERROR($crystalhd_not_found)
1907       else
1908         use_crystalhd=no
1909         AC_MSG_RESULT($crystalhd_not_found)
1910       fi
1911       USE_CRYSTALHD=0
1912     ])
1913     CFLAGS="$SAVE_CFLAGS"
1914     if test "$host_vendor" != "apple"; then
1915       XB_FIND_SONAME([CRYSTALHD], [crystalhd], [use_crystalhd])
1916     fi
1917     if test "x$use_crystalhd" != "xno"; then
1918       SAVE_CFLAGS="$CFLAGS"
1919       CFLAGS="-D__LINUX_USER__ -lcrystalhd"
1920       # check for new crystalhd lib
1921       AC_COMPILE_IFELSE(
1922         [AC_LANG_SOURCE([#include <libcrystalhd/bc_dts_types.h>
1923           #include <libcrystalhd/bc_dts_defs.h>
1924           PBC_INFO_CRYSTAL bCrystalInfo;])],
1925         [ AC_DEFINE([HAVE_LIBCRYSTALHD], [2], [Define to 2 if you have the 'New Broadcom Crystal HD' library.]) ], 
1926         [ AC_DEFINE([HAVE_LIBCRYSTALHD], [1], [Define to 1 if you have the 'Old Broadcom Crystal HD' library.]) ])
1927       CFLAGS="$SAVE_CFLAGS"
1928       USE_CRYSTALHD=1
1929     fi
1930 else
1931   AC_MSG_NOTICE($crystalhd_disabled)
1932   USE_CRYSTALHD=0
1933 fi
1934
1935 # VTBDecoder
1936 if test "x$use_vtbdecoder" != "xno"; then
1937   if test "$host_vendor" = "apple" ; then
1938     HAVE_VIDEOTOOLBOXDECODER=1
1939     AC_DEFINE([HAVE_VIDEOTOOLBOXDECODER], [1], [Define to 1 if you have the 'VTBDecoder' library.])
1940     AC_MSG_NOTICE($vtbdecoder_enabled)
1941   else
1942     if test "x$use_vtbdecoder" = "xyes"; then
1943       AC_MSG_ERROR([VTB Decoder not supported on this platform])
1944     else
1945       use_vtbdecoder="no"
1946       AC_MSG_NOTICE($vtbdecoder_disabled)
1947     fi
1948   fi
1949 else
1950   AC_MSG_NOTICE($vtbdecoder_disabled)
1951 fi
1952
1953 # OpenMax
1954 if test "$host_vendor" = "apple" ; then
1955   use_openmax="no"
1956   USE_OPENMAX=0
1957   AC_MSG_NOTICE($openmax_disabled)
1958 elif test "$target_platform" = "target_raspberry_pi"; then
1959   use_openmax="no"
1960   USE_OPENMAX=0
1961   AC_MSG_NOTICE($openmax_disabled)
1962 else
1963   if test "$use_gles" = "yes" && test "$use_openmax" = "auto"; then
1964     PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio],
1965                       USE_OPENMAX=1;[INCLUDES="$INCLUDES $OPENMAX_CFLAGS"; LIBS="$LIBS $OPENMAX_LIBS"],
1966                       use_openmax=no;USE_OPENMAX=0;AC_MSG_RESULT($openmax_not_found))
1967   elif test "$use_gles" = "yes" && test "$use_openmax" = "yes"; then
1968     PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio],
1969                       USE_OPENMAX=1;[INCLUDES="$INCLUDES $OPENMAX_CFLAGS"; LIBS="$LIBS $OPENMAX_LIBS"],
1970                       AC_MSG_ERROR($openmax_not_found))
1971   else
1972     AC_MSG_NOTICE($openmax_disabled)
1973     use_openmax=no
1974     USE_OPENMAX=0
1975   fi
1976 fi
1977
1978 # yajl version check (yajl_version.h was added in yajl 2.0)
1979 AC_CHECK_HEADERS([yajl/yajl_version.h], [], [
1980 AC_DEFINE(YAJL_MAJOR, 1, [yajl version 1])
1981 ], [])
1982
1983 # additional internal players
1984 case $add_players in
1985   *omxplayer*)
1986       XB_ADD_PLAYER([OMXPLAYER], [omxplayer])
1987       ;;
1988 esac
1989
1990 # additional internal codecs
1991 # remember to convert commas to spaces
1992 for codecs in `echo $add_codecs | sed 's/,/ /g'`; do
1993   case $codecs in
1994     *amcodec*)
1995         AC_CHECK_HEADER([amcodec/codec_error.h],, AC_MSG_ERROR($missing_headers))
1996         XB_ADD_CODEC([LIBAMCODEC], [amcodec], [$codecs])
1997         ;;
1998     *libstagefright*)
1999         XB_ADD_CODEC([LIBSTAGEFRIGHT], [libstagefright], [$codecs])
2000         ;;
2001     *)
2002   esac
2003 done
2004
2005 # platform specific bin utilities
2006 if test "$build_vendor" != "apple" ; then
2007   AC_CHECK_PROG(HAVE_GAWK,gawk,"yes","no",)
2008   if test "$HAVE_GAWK" = "no" ; then
2009     AC_MSG_ERROR($missing_program)
2010   fi
2011 fi
2012
2013 if test "$use_arch" != "arm" ; then
2014   AC_CHECK_PROG(HAVE_CMAKE,cmake,"yes","no",)
2015   if test "$HAVE_CMAKE" = "no" ; then
2016     AC_MSG_ERROR($missing_program)
2017   fi
2018 fi
2019
2020 AC_CHECK_PROG(HAVE_GPERF,gperf,"yes","no",)
2021 if test "$HAVE_GPERF" = "no" ; then
2022   AC_MSG_ERROR($missing_program)
2023 fi
2024
2025 AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",)
2026 if test "$HAVE_UNZIP" = "no" ; then
2027   AC_MSG_ERROR($missing_program)
2028 fi
2029
2030 AC_CHECK_PROG(HAVE_ZIP,zip,"yes","no",)
2031 if test "$HAVE_ZIP" = "no" ; then
2032   AC_MSG_ERROR($missing_program)
2033 fi
2034
2035 if test "$ARCH" = "i486-linux" || test "$ARCH" = "x86-freebsd"; then
2036   AC_CHECK_PROG(HAVE_NASM,nasm,"yes","no",)
2037   if test "$HAVE_NASM" = "no" ; then
2038     AC_MSG_ERROR($missing_program)
2039   fi
2040 fi
2041
2042 # Checks for header files.
2043 AC_HEADER_DIRENT
2044 AC_HEADER_STDC
2045 AC_HEADER_SYS_WAIT
2046 AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h limits.h locale.h \
2047   malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \
2048   strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h sys/socket.h \
2049   sys/time.h sys/timeb.h sys/vfs.h termios.h unistd.h utime.h wchar.h wctype.h])
2050 AC_CHECK_HEADERS([cdio/iso9660.h],,AC_MSG_ERROR([$missing_headers]))
2051
2052 # Checks for typedefs, structures, and compiler characteristics.
2053 AC_HEADER_STAT
2054 AC_HEADER_STDBOOL
2055 AC_C_CONST
2056 AC_TYPE_UID_T
2057 AC_C_INLINE
2058 AC_TYPE_INT8_T
2059 AC_TYPE_INT16_T
2060 AC_TYPE_INT32_T
2061 AC_TYPE_INT64_T
2062 AC_TYPE_MODE_T
2063 AC_TYPE_OFF_T
2064 AC_TYPE_PID_T
2065 AC_C_RESTRICT
2066 AC_TYPE_SIZE_T
2067 AC_TYPE_SSIZE_T
2068 AC_CHECK_MEMBERS([struct stat.st_rdev])
2069 AC_HEADER_TIME
2070 AC_STRUCT_TM
2071 AC_TYPE_UINT8_T
2072 AC_TYPE_UINT16_T
2073 AC_TYPE_UINT32_T
2074 AC_TYPE_UINT64_T
2075 AC_C_BIGENDIAN
2076
2077 if test "$cross_compiling" = "yes"; then
2078   final_message="$final_message\n  Crosscomp.:\tYes"
2079   if [[ -d "$NATIVE_ROOT" ]]; then
2080     CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
2081     CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
2082     LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -L$NATIVE_ROOT/lib"
2083     if test "$host_vendor" != "apple" ; then
2084       LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -Wl,-rpath=$NATIVE_ROOT/lib"
2085     fi
2086     final_message="$final_message\n  Native Root:\t$NATIVE_ROOT"
2087   fi
2088 else
2089   final_message="$final_message\n  Crosscomp.:\tNo"
2090 fi
2091
2092 final_message="$final_message\n  target ARCH:\t$use_arch"
2093 final_message="$final_message\n  target CPU:\t$use_cpu"
2094
2095 if test "$use_gles" = "yes"; then
2096   final_message="$final_message\n  OpenGLES:\tYes"
2097   USE_OPENGLES=1
2098   USE_OPENGL=0
2099 else
2100   USE_OPENGLES=0
2101   if test "$use_gl" = "yes"; then
2102     final_message="$final_message\n  OpenGL:\tYes"
2103     USE_OPENGL=1
2104   else
2105     final_message="$final_message\n  OpenGL:\tNo (Very Slow)"
2106     SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_2D"
2107     USE_OPENGL=0
2108   fi
2109 fi
2110
2111 if test "$use_alsa" = "yes"; then
2112   USE_ALSA=1
2113   AC_DEFINE([USE_ALSA],[1],["Define to 1 if alsa is installed"])
2114   final_message="$final_message\n  ALSA:\t\tYes"
2115 else
2116   USE_ALSA=0
2117   final_message="$final_message\n  ALSA:\t\tNo"
2118 fi
2119
2120 if test "$use_dbus" = "yes"; then
2121   final_message="$final_message\n  DBUS:\t\tYes"
2122 else
2123   final_message="$final_message\n  DBUS:\t\tNo"
2124 fi
2125
2126 if test "x$use_vdpau" != "xno"; then
2127   final_message="$final_message\n  VDPAU:\tYes"
2128 else
2129   final_message="$final_message\n  VDPAU:\tNo"
2130 fi
2131
2132 if test "x$use_vaapi" != "xno"; then
2133   final_message="$final_message\n  VAAPI:\tYes"
2134 else
2135   final_message="$final_message\n  VAAPI:\tNo"
2136 fi
2137
2138 if test "x$use_crystalhd" != "xno"; then
2139   final_message="$final_message\n  CrystalHD:\tYes"
2140 else
2141   final_message="$final_message\n  CrystalHD:\tNo"
2142 fi
2143
2144 if test "x$use_vtbdecoder" != "xno"; then
2145   final_message="$final_message\n  VTBDecoder:\tYes"
2146 else
2147   final_message="$final_message\n  VTBDecoder:\tNo"
2148 fi
2149
2150 if test "$use_openmax" != "no"; then
2151   final_message="$final_message\n  OpenMax:\tYes"
2152 else
2153   final_message="$final_message\n  OpenMax:\tNo"
2154 fi
2155
2156 if test "$use_joystick" = "yes"; then
2157   final_message="$final_message\n  Joystick:\tYes"
2158   SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_JOYSTICK"
2159 else
2160   final_message="$final_message\n  Joystick:\tNo"
2161 fi
2162
2163 if test "$use_xrandr" = "yes"; then
2164   final_message="$final_message\n  XRandR:\tYes"
2165   USE_XRANDR=1
2166 else
2167   final_message="$final_message\n  XRandR:\tNo"
2168   USE_XRANDR=0
2169 fi
2170
2171 if test "$use_waveform" = "yes"; then
2172   final_message="$final_message\n  Waveform:\tYes"
2173 else
2174   final_message="$final_message\n  Waveform:\tNo"
2175 fi
2176
2177 if test "$use_spectrum" = "yes"; then
2178   final_message="$final_message\n  Spectrum:\tYes"
2179 else
2180   final_message="$final_message\n  Spectrum:\tNo"
2181 fi
2182
2183 if test "$use_goom" = "yes"; then
2184   final_message="$final_message\n  GOOM:\t\tYes"
2185 else
2186   final_message="$final_message\n  GOOM:\t\tNo"
2187 fi
2188
2189 if test "$use_rsxs" = "yes"; then
2190   final_message="$final_message\n  RSXS:\t\tYes"
2191 else
2192   final_message="$final_message\n  RSXS:\t\tNo"
2193 fi
2194
2195 if test "$use_fishbmc" = "yes"; then
2196   final_message="$final_message\n  FishBMC:\tYes"
2197 else
2198   final_message="$final_message\n  FishBMC:\tNo"
2199 fi
2200
2201 if test "$use_projectm" = "yes"; then
2202   final_message="$final_message\n  ProjectM:\tYes"
2203 else
2204   final_message="$final_message\n  ProjectM:\tNo"
2205 fi
2206
2207 if test "$use_skin_touched" = "yes"; then
2208   final_message="$final_message\n  Skin Touched:\tYes"
2209 else
2210   final_message="$final_message\n  Skin Touched:\tNo"
2211 fi
2212
2213 if test "$use_x11" = "yes"; then
2214   final_message="$final_message\n  X11:\t\tYes"
2215 else
2216   final_message="$final_message\n  X11:\t\tNo"
2217 fi
2218
2219 if test "$use_wayland" = "yes"; then
2220   final_message="$final_message\n  Wayland:\tYes"
2221   USE_WAYLAND=1
2222   USE_XKBCOMMON=1
2223 else
2224   final_message="$final_message\n  Wayland:\tNo"
2225 fi
2226
2227 if test "$use_libbluray" = "yes"; then
2228   final_message="$final_message\n  Bluray:\tYes"
2229 else
2230   final_message="$final_message\n  Bluray:\tNo"
2231 fi
2232
2233 if test "x$use_texturepacker" != "xno"; then
2234   final_message="$final_message\n  TexturePacker:Yes"
2235   USE_TEXTUREPACKER=1
2236 else
2237   final_message="$final_message\n  TexturePacker:No"
2238   USE_TEXTUREPACKER=0
2239 fi
2240
2241 if test "$use_mid" = "yes"; then
2242   final_message="$final_message\n  MID Support:\tYes"
2243   SDL_DEFINES="$SDL_DEFINES -DMID"
2244 else
2245   final_message="$final_message\n  MID Support:\tNo"
2246 fi
2247
2248 ORIGCC=$CC
2249 ORIGCXX=$CXX
2250 if test "x$use_ccache" != "xno"; then
2251   AC_PATH_PROG(CCACHE,ccache,none)
2252   if test "$ac_cv_path_CCACHE" = "none"; then
2253     if test "x$use_ccache" = "xyes"; then
2254       AC_MSG_ERROR([ccache not found.]);
2255     else
2256       AC_MSG_NOTICE([ccache not found. Falling back to default CC])
2257       final_message="$final_message\n  ccache:\tNo"
2258     fi
2259   else
2260     CC="$ac_cv_path_CCACHE $CC"
2261     CXX="$ac_cv_path_CCACHE $CXX"
2262     AC_MSG_NOTICE(enabling ccache)
2263     final_message="$final_message\n  ccache:\tYes"
2264   fi
2265 else
2266   final_message="$final_message\n  ccache:\tNo"
2267 fi
2268
2269 if test "$use_alsa" = "yes"; then
2270   final_message="$final_message\n  ALSA Support:\tYes"
2271 else
2272   final_message="$final_message\n  ALSA Support:\tNo"
2273 fi
2274
2275 if test "x$use_pulse" != "xno"; then
2276   XBMC_STANDALONE_SH_PULSE=tools/Linux/xbmc-standalone.sh.pulse
2277   final_message="$final_message\n  PulseAudio:\tYes"
2278 else
2279   XBMC_STANDALONE_SH_PULSE=/dev/null
2280   final_message="$final_message\n  PulseAudio:\tNo"
2281 fi
2282
2283 if test "$use_hal" = "yes"; then
2284   final_message="$final_message\n  HAL Support:\tYes"
2285 else
2286   final_message="$final_message\n  HAL Support:\tNo"
2287 fi
2288
2289 # DVDCSS
2290 if test "$use_dvdcss" = "yes"; then
2291   AC_MSG_NOTICE($dvdcss_enabled)
2292   final_message="$final_message\n  DVDCSS:\tYes"
2293   BUILD_DVDCSS=1
2294   SKIP_CONFIG_DVDCSS=0
2295   DVDREAD_CFLAGS="-D_XBMC -DHAVE_DVDCSS_DVDCSS_H"
2296 else
2297   AC_MSG_NOTICE($dvdcss_disabled)
2298   final_message="$final_message\n  DVDCSS:\tNo"
2299   BUILD_DVDCSS=0
2300   SKIP_CONFIG_DVDCSS=1
2301   DVDREAD_CFLAGS="-D_XBMC -UHAVE_DVDCSS_DVDCSS_H"
2302 fi
2303 if test "$host_vendor" = "apple"; then
2304  DVDREAD_CFLAGS="$DVDREAD_CFLAGS -D__DARWIN__"
2305 fi
2306
2307 # Google Test Framework
2308 if test "$configure_gtest" = "yes"; then
2309   AC_MSG_NOTICE($gtest_enabled)
2310   final_message="$final_message\n  Google Test Framework Configured:\tYes"
2311   GTEST_CONFIGURED=1
2312   SKIP_CONFIG_GTEST=0
2313 else
2314   AC_MSG_NOTICE($gtest_disabled)
2315   final_message="$final_message\n  Google Test Framework Configured:\tNo"
2316   GTEST_CONFIGURED=0
2317   SKIP_CONFIG_GTEST=1
2318 fi
2319
2320 if test "$use_avahi" = "yes"; then
2321   final_message="$final_message\n  Avahi:\tYes"
2322 else
2323   final_message="$final_message\n  Avahi:\tNo"
2324 fi
2325
2326 if test "$use_mdnsembedded" != "no"; then
2327   final_message="$final_message\n  mDNSEmbedded:\tYes"
2328 else
2329   final_message="$final_message\n  mDNSEmbedded:\tNo"
2330 fi
2331
2332 if test "$use_nonfree" = "yes"; then
2333   final_message="$final_message\n  Non-free:\tYes"
2334   HAVE_XBMC_NONFREE=1
2335   AC_DEFINE([HAVE_XBMC_NONFREE], [1], [Define to 1 to enable non-free components.])
2336 else
2337   HAVE_XBMC_NONFREE=0
2338   final_message="$final_message\n  Non-free:\tNo"
2339 fi
2340
2341 if test "$use_asap" = "yes"; then
2342   AC_CHECK_PROGS(HAVE_GDC,gdc-4.4 gdc-4.3 gdc,"no")
2343   if test "$HAVE_GDC" = "no"; then
2344     AC_MSG_ERROR($missing_program);
2345   fi
2346   AC_CHECK_PROG(HAVE_FPC,fpc,"yes","no")
2347   if test "$HAVE_FPC" = "no"; then
2348     AC_MSG_ERROR($missing_program);
2349   fi
2350   USE_ASAP_CODEC=1
2351   AC_DEFINE([USE_ASAP_CODEC], [1], [Define to 1 to enable ASAP codec.])
2352   final_message="$final_message\n  ASAP Codec:\tYes"
2353 else
2354   USE_ASAP_CODEC=0
2355   final_message="$final_message\n  ASAP Codec:\tNo"
2356 fi
2357
2358 if test "$use_mysql" = "yes"; then
2359   final_message="$final_message\n  MySQL:\tYes"
2360   USE_MYSQL=1
2361 else
2362   final_message="$final_message\n  MySQL:\tNo"
2363   USE_MYSQL=0
2364 fi
2365 if test "$use_webserver" = "yes"; then
2366   final_message="$final_message\n  Webserver:\tYes"
2367   USE_WEB_SERVER=1
2368 else
2369   final_message="$final_message\n  Webserver:\tNo"
2370   USE_WEB_SERVER=0
2371 fi
2372
2373 if test "$use_libssh" != "no"; then
2374   final_message="$final_message\n  libssh support:\tYes"
2375 else
2376   final_message="$final_message\n  libssh support:\tNo"
2377 fi
2378
2379 if test "$use_librtmp" != "no"; then
2380   final_message="$final_message\n  libRTMP support:\tYes"
2381 else
2382   final_message="$final_message\n  libRTMP support:\tNo"
2383 fi
2384
2385 if test "x$use_samba" != "xno"; then
2386   final_message="$final_message\n  libsmbclient support:\tYes"
2387 else
2388   final_message="$final_message\n  libsmbclient support:\tNo"
2389 fi
2390
2391 if test "$use_libnfs" != "no"; then
2392   final_message="$final_message\n  libnfs client support:Yes"
2393 else
2394   final_message="$final_message\n  libnfs client support:No"
2395 fi
2396
2397 if test "x$use_libafpclient" != "xno"; then
2398   final_message="$final_message\n  libafpclient support:\tYes"
2399 else  
2400   final_message="$final_message\n  libafpclient support:\tNo"
2401 fi
2402
2403 if test "$use_airplay" != "no"; then
2404   final_message="$final_message\n  AirPlay support:\tYes"
2405 else
2406   final_message="$final_message\n  AirPLay support:\tNo"
2407 fi
2408
2409 if test "x$use_airtunes" != "xno"; then
2410   if test "x$USE_LIBSHAIRPLAY" == "x1"; then
2411     final_message="$final_message\n  AirTunes support (libshairplay):\tYes"  
2412   else
2413     final_message="$final_message\n  AirTunes support (libshairport):\tYes"
2414   fi
2415 else
2416   final_message="$final_message\n  AirTunes support:\tNo"
2417 fi
2418
2419 if test "x$use_upnp" != "xno"; then
2420   final_message="$final_message\n  UPnP support:\t\tYes"
2421   USE_UPNP=1
2422   AC_DEFINE([USE_UPNP], [1], [Define to 1 to enable UPnP support.])
2423 else
2424   USE_UPNP=0
2425   final_message="$final_message\n  UPnP support:\t\tNo"
2426 fi
2427
2428 if test "$use_optical_drive" = "yes"; then
2429   final_message="$final_message\n  Optical drive:\tYes"
2430 else
2431   final_message="$final_message\n  Optical drive:\tNo"
2432 fi
2433
2434 if test "x$use_libudev" != "xno"; then
2435   final_message="$final_message\n  libudev support:\tYes"
2436 else
2437   final_message="$final_message\n  libudev support:\tNo"
2438 fi
2439
2440 if test "x$use_libusb" != "xno"; then
2441   final_message="$final_message\n  libusb support:\tYes"
2442 else
2443   final_message="$final_message\n  libusb support:\tNo"
2444 fi
2445
2446 if test "x$use_libcec" != "xno"; then
2447   final_message="$final_message\n  libcec support:\tYes"
2448 else
2449   final_message="$final_message\n  libcec support:\tNo"
2450 fi
2451
2452 if test "x$use_libmp3lame" != "xno"; then
2453   final_message="$final_message\n  libmp3lame support:\tYes"
2454 else
2455   final_message="$final_message\n  libmp3lame support:\tNo"
2456 fi
2457
2458 if test "x$use_libvorbisenc" != "xno"; then
2459   final_message="$final_message\n  libvorbisenc support:\tYes"
2460 else
2461   final_message="$final_message\n  libvorbisenc support:\tNo"
2462 fi
2463
2464 if test "x$use_libcap" != "xno"; then
2465   final_message="$final_message\n  libcap support:\tYes"
2466 else
2467   final_message="$final_message\n  libcap support:\tNo"
2468 fi
2469
2470 if test "x$add_players" != "xno"; then
2471   final_message="$final_message\n  additional players:\tYes, $add_players"
2472 else
2473   final_message="$final_message\n  additional players:\tNo"
2474 fi
2475
2476 if test "x$add_codecs" != "xno"; then
2477   final_message="$final_message\n  additional codecs:\tYes, $add_codecs"
2478 else
2479   final_message="$final_message\n  additional codecs:\tNo"
2480 fi
2481
2482 ### External libraries messages
2483
2484 if test "$use_external_ffmpeg" = "yes"; then
2485   final_message="$final_message\n  External FFmpeg:\tYes"
2486 else
2487   final_message="$final_message\n  External FFmpeg:\tNo"
2488 fi
2489
2490 if test "$host_vendor" = "apple" ; then
2491   # built internal but referenced as external, we link directly to them.
2492   # this MUST be the last thing before OUTPUT_FILES as they do not
2493   # exist until after we build FFMpeg.
2494   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavcodec -lavcodec"
2495   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavfilter -lavfilter"
2496   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswresample -lswresample"
2497   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavformat -lavformat"
2498   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavutil -lavutil"
2499   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libpostproc -lpostproc"
2500   LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswscale -lswscale"
2501 fi
2502
2503 USE_PVR_ADDONS=0
2504 DISABLE_PVR_ADDON_CONFIG=1
2505 if [[ -f "pvr-addons/Makefile.am" ]]; then
2506   final_message="$final_message\n  PVR add-ons:\t\tYes"
2507   USE_PVR_ADDONS=1
2508   DISABLE_PVR_ADDON_CONFIG=0
2509 else
2510   final_message="$final_message\n  PVR add-ons:\t\tNo"
2511 fi
2512
2513 OUTPUT_FILES="Makefile \
2514     Makefile.include \
2515     addons/skin.confluence/media/Makefile \
2516     xbmc/Makefile \
2517     xbmc/cdrip/Makefile \
2518     xbmc/cores/Makefile \
2519     xbmc/cores/VideoRenderers/Makefile \
2520     xbmc/cores/dvdplayer/Makefile \
2521     lib/Makefile \
2522     lib/libdvd/Makefile \
2523     xbmc/cores/DllLoader/Makefile \
2524     xbmc/cores/DllLoader/exports/Makefile \
2525     xbmc/cores/dvdplayer/DVDCodecs/Makefile \
2526     xbmc/cores/dvdplayer/DVDCodecs/Audio/Makefile \
2527     xbmc/cores/dvdplayer/DVDCodecs/Overlay/Makefile \
2528     xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile \
2529     xbmc/cores/dvdplayer/DVDDemuxers/Makefile \
2530     xbmc/cores/dvdplayer/DVDSubtitles/Makefile \
2531     xbmc/cores/AudioEngine/Makefile \
2532     xbmc/cores/paplayer/Makefile \
2533     xbmc/cores/omxplayer/Makefile \
2534     lib/timidity/Makefile \
2535     lib/asap/Makefile \
2536     lib/nosefart/Makefile \
2537     lib/libsidplay2/Makefile \
2538     lib/vgmstream/Makefile \
2539     lib/snesapu/SNES/SNESAPU/Makefile \
2540     lib/stsound/StSoundLibrary/Makefile \
2541     xbmc/cores/playercorefactory/Makefile \
2542     xbmc/music/karaoke/Makefile \
2543     xbmc/osx/Makefile \
2544     xbmc/guilib/Makefile \
2545     xbmc/input/linux/Makefile \
2546     xbmc/interfaces/Makefile \
2547     xbmc/network/Makefile \
2548     xbmc/network/upnp/Makefile \
2549     lib/libRTV/Makefile \
2550     lib/libexif/Makefile \
2551     lib/libXDAAP/Makefile \
2552     lib/cmyth/Makefile \
2553     lib/libhdhomerun/Makefile \
2554     lib/libsquish/Makefile \
2555     lib/cximage-6.0/Makefile \
2556     lib/libUPnP/Makefile \
2557     xbmc/DllPaths_generated.h \
2558     xbmc/DllPaths_generated_android.h \
2559     xbmc/freebsd/Makefile \
2560     xbmc/linux/Makefile \
2561     xbmc/filesystem/Makefile \
2562     xbmc/screensavers/rsxs-0.9/xbmc/Makefile \
2563     xbmc/visualizations/XBMCProjectM/Makefile \
2564     xbmc/visualizations/Goom/Makefile \
2565     xbmc/visualizations/OpenGLSpectrum/Makefile \
2566     xbmc/visualizations/fishBMC/Makefile \
2567     xbmc/visualizations/WaveForm/Makefile \
2568     xbmc/windowing/Makefile \
2569     xbmc/windowing/egl/Makefile \
2570     lib/addons/library.xbmc.addon/Makefile \
2571     lib/addons/library.xbmc.codec/Makefile \
2572     lib/addons/library.xbmc.gui/Makefile \
2573     lib/addons/library.xbmc.pvr/Makefile \
2574     xbmc/visualizations/EGLHelpers/Makefile \
2575     tools/Linux/xbmc.sh \
2576     tools/Linux/xbmc-standalone.sh \
2577     tools/TexturePacker/Makefile \
2578     tools/EventClients/Clients/OSXRemote/Makefile \
2579     xbmc/peripherals/bus/Makefile \
2580     xbmc/peripherals/devices/Makefile \
2581     xbmc/android/activity/Makefile \
2582     xbmc/android/loader/Makefile \
2583     xbmc/android/jni/Makefile \
2584     xbmc/utils/Makefile \
2585     xbmc/main/Makefile \
2586     project/cmake/xbmc-config.cmake"
2587
2588 if test "$use_wayland" = "yes"; then
2589 OUTPUT_FILES="$OUTPUT_FILES xbmc/windowing/tests/wayland/Makefile"
2590 fi
2591
2592 if test "$use_skin_touched" = "yes"; then
2593 OUTPUT_FILES="$OUTPUT_FILES addons/skin.touched/media/Makefile"
2594 fi
2595
2596 if test "$use_codec_libstagefright" = "yes"; then
2597 OUTPUT_FILES="$OUTPUT_FILES xbmc/cores/dvdplayer/DVDCodecs/Video/libstagefrightICS/Makefile"
2598 fi
2599
2600 OUTPUT_FILES="$OUTPUT_FILES \
2601   xbmc/interfaces/python/Makefile \
2602   xbmc/interfaces/python/test/Makefile"
2603
2604 # Line below is used so we can use AM_INIT_AUTOMAKE. The corresponding
2605 # .dummy.am does nothing.
2606 AC_CONFIG_FILES([.dummy])
2607
2608 AC_CONFIG_FILES([${OUTPUT_FILES}])
2609 OUTPUT_FILES="$OUTPUT_FILES \
2610   .dummy"
2611 AC_SUBST(CFLAGS)
2612 AC_SUBST(CXXFLAGS)
2613 AC_SUBST(INCLUDES)
2614 AC_SUBST(LDFLAGS)
2615 AC_SUBST(CXX_FOR_BUILD)
2616 AC_SUBST(CC_FOR_BUILD)
2617 AC_SUBST(CFLAGS_FOR_BUILD)
2618 AC_SUBST(CXXFLAGS_FOR_BUILD)
2619 AC_SUBST(LDFLAGS_FOR_BUILD)
2620 AC_SUBST(SDL_DEFINES)
2621 AC_SUBST(BUILD_DVDCSS)
2622 AC_SUBST(DISABLE_WAVEFORM)
2623 AC_SUBST(DISABLE_SPECTRUM)
2624 AC_SUBST(DISABLE_GOOM)
2625 AC_SUBST(DISABLE_RSXS)
2626 AC_SUBST(DISABLE_FISHBMC)
2627 AC_SUBST(DISABLE_PROJECTM)
2628 AC_SUBST(USE_SKIN_TOUCHED)
2629 AC_SUBST(USE_EXTERNAL_FFMPEG)
2630 AC_SUBST(USE_STATIC_FFMPEG)
2631 AC_SUBST(USE_LIBAV_HACKS)
2632 AC_SUBST(PYTHON_VERSION)
2633 AC_SUBST(OUTPUT_FILES)
2634 AC_SUBST(HAVE_XBMC_NONFREE)
2635 AC_SUBST(USE_ASAP_CODEC)
2636 AC_SUBST(LIBCURL_BASENAME)
2637 AC_SUBST(LIBFLAC_BASENAME)
2638 AC_SUBST(LIBVORBISFILE_BASENAME)
2639 AC_SUBST(LIBMODPLUG_BASENAME)
2640 AC_SUBST(LIBMAD_BASENAME)
2641 AC_SUBST(LIBOGG_BASENAME)
2642 AC_SUBST(LIBVORBISENC_BASENAME)
2643 AC_SUBST(LIBVORBIS_BASENAME)
2644 AC_SUBST(LIBASS_BASENAME)
2645 AC_SUBST(LIBMEPG2_BASENAME)
2646 AC_SUBST_FILE(XBMC_STANDALONE_SH_PULSE)
2647 AC_SUBST(USE_OPENGL)
2648 AC_SUBST(USE_OPENGLES)
2649 AC_SUBST(USE_VDPAU)
2650 AC_SUBST(USE_VAAPI)
2651 AC_SUBST(USE_CRYSTALHD)
2652 AC_SUBST(USE_LIBSMBCLIENT)
2653 AC_SUBST(USE_LIBNFS)
2654 AC_SUBST(USE_LIBAFPCLIENT)
2655 AC_SUBST(USE_AIRPLAY)
2656 AC_SUBST(USE_OPENMAX)
2657 AC_SUBST(USE_PULSE)
2658 AC_SUBST(HAVE_LIBPULSE)
2659 AC_SUBST(USE_XRANDR)
2660 AC_SUBST(USE_ALSA)
2661 AC_SUBST(USE_TEXTUREPACKER)
2662 AC_SUBST(USE_AIRTUNES)
2663 AC_SUBST(USE_LIBUDEV)
2664 AC_SUBST(USE_LIBUSB)
2665 AC_SUBST(USE_LIBCEC)
2666 AC_SUBST(USE_MYSQL)
2667 AC_SUBST(USE_WAYLAND)
2668 AC_SUBST(USE_WEB_SERVER)
2669 AC_SUBST(USE_UPNP)
2670 AC_SUBST(USE_XKBCOMMON)
2671 AC_SUBST(USE_OMXLIB)
2672 AC_SUBST(USE_ANDROID)
2673 AC_SUBST(GTEST_CONFIGURED)
2674 AC_SUBST(USE_DOXYGEN)
2675 AC_SUBST(USE_PVR_ADDONS)
2676 AC_SUBST(GNUTLS_ALL_LIBS)
2677 AC_SUBST(HOGWEED_ALL_LIBS)
2678 AC_SUBST(VORBISENC_ALL_LIBS)
2679
2680 # pushd and popd are not available in other shells besides bash, so implement
2681 # our own pushd/popd functions
2682 XB_DIRSTACK="$PWD"
2683 xb_pushd()
2684 {
2685   local dirname="$1"
2686   if [[ -d "$dirname" ]] && [[ -x "$dirname" ]]; then
2687     cd "$dirname"
2688     XB_DIRSTACK="$dirname ${XB_DIRSTACK:-$PWD}"
2689     return 0
2690   else
2691     AC_MSG_ERROR(xb_pushd: unable to change to $dirname)
2692   fi
2693 }
2694 xb_popd()
2695 {
2696   if [[ -n "$XB_DIRSTACK" ]]; then
2697     XB_DIRSTACK="${XB_DIRSTACK#* }"
2698     cd "${XB_DIRSTACK%% *}"
2699     return 0
2700   else
2701     AC_MSG_ERROR(xb_popd: unable to go back to previous directory)
2702   fi
2703 }
2704
2705 # Function to run the configure scripts in our submodules
2706 # Consists of three paramaters, the path to the submodule, the configure command
2707 # with appropriate arguments, and a third parameter set to 1 if we are to skip
2708 # running the script, anything else if not.
2709 AC_DEFUN([XB_CONFIG_MODULE],[
2710 AC_CONFIG_COMMANDS_POST([
2711 if [[ $3 != "1" ]]; then
2712     if [[ -d $1 ]]; then
2713       xb_pushd $1
2714       $2
2715       if [[ $? -ne 0 ]]; then
2716         xb_popd
2717         AC_MSG_ERROR([[Submodule $1 failed to configure]])
2718       else
2719         xb_popd
2720       fi
2721     else
2722       AC_MSG_ERROR([[Submodule $1 does not exist]])
2723     fi
2724 else
2725     AC_MSG_NOTICE([[Skipping configuration of submodule $1.]])
2726 fi
2727 ])
2728 ])
2729
2730 XB_CONFIG_MODULE([lib/ffmpeg], [
2731   if test "$host_vendor" = "apple" ; then
2732     ffmpg_config="--target-os=$ffmpeg_target_os"
2733     # handle disables first, we do individual enables later
2734     ffmpg_config="$ffmpg_config --disable-muxers   --disable-encoders"
2735     ffmpg_config="$ffmpg_config --disable-devices  --disable-doc"
2736     ffmpg_config="$ffmpg_config --disable-ffplay   --disable-ffmpeg"
2737     ffmpg_config="$ffmpg_config --disable-ffprobe  --disable-ffserver"
2738     ffmpg_config="$ffmpg_config --enable-vda       --disable-crystalhd"
2739     ffmpg_config="$ffmpg_config --disable-decoder=mpeg_xvmc"
2740
2741     # handle conditional enables/disables
2742     if test "$use_debug" = "no"; then
2743       ffmpg_config="$ffmpg_config --disable-debug"
2744     fi
2745     if test "$use_cpu"  != "no";  then
2746       ffmpg_config="$ffmpg_config --cpu=$use_cpu"
2747     fi
2748     if test "$use_arch" != "no"; then
2749       ffmpg_config="$ffmpg_config --arch=$use_arch --enable-cross-compile"
2750     fi
2751     if test "$use_arch"  = "arm"; then
2752       ffmpg_config="$ffmpg_config --enable-pic"
2753       ffmpg_config="$ffmpg_config --disable-armv5te --disable-armv6t2"
2754       if test "$use_neon"  = "yes"; then
2755         ffmpg_config="$ffmpg_config --enable-neon"
2756       else
2757         ffmpg_config="$ffmpg_config --disable-neon"
2758       fi
2759     else
2760       ffmpg_config="$ffmpg_config --disable-amd3dnow"
2761     fi
2762     if test "$use_ffmpeg_libvorbis" = "yes"; then
2763       ffmpg_config="$ffmpg_config --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis"
2764     else
2765       ffmpg_config="$ffmpg_config --disable-libvorbis"
2766     fi
2767     if test "$have_gnutls" = "yes"; then
2768       ffmpg_config="$ffmpg_config --enable-gnutls"
2769     fi
2770
2771     # handle individual enables
2772     ffmpg_config="$ffmpg_config --enable-gpl"
2773     ffmpg_config="$ffmpg_config --enable-postproc"
2774     ffmpg_config="$ffmpg_config --enable-static      --enable-pthreads"
2775     ffmpg_config="$ffmpg_config --enable-muxer=spdif --enable-muxer=adts --enable-muxer=asf --enable-muxer=ipod"
2776     ffmpg_config="$ffmpg_config --enable-encoder=ac3 --enable-encoder=aac --enable-encoder=wmav2"
2777     ffmpg_config="$ffmpg_config --enable-protocol=http"
2778     ffmpg_config="$ffmpg_config --enable-runtime-cpudetect"
2779
2780     # ffmpeg will not compile with llvm-gcc-4.2, use clang instead
2781     case $CC in
2782       *llvm-gcc-4.2*)
2783         ffmpg_config="$ffmpg_config --cc=clang" ;;
2784       *)
2785         ffmpg_config="$ffmpg_config --cc=$CC" ;;
2786     esac
2787     
2788     # extra-cflags must be passed alone or it gets expanded wrong by the ffmpeg configure
2789     FFMPEG_EXTRACFLAGS="$CFLAGS $FFMPEG_EXTRACFLAGS -w -D_DARWIN_C_SOURCE -Dattribute_deprecated="
2790
2791     LDFLAGS="$LDFLAGS" ./configure --extra-cflags="$FFMPEG_EXTRACFLAGS" $ffmpg_config --as="$AS"
2792
2793     # if using llvm-gcc-4.2 as assembler, -MMD is not enough to generate
2794     # dependency files in the right place, replace it with something that works
2795     case $AS in
2796       *llvm-gcc-4.2*)
2797         sed -ie "s#AS_DEPFLAGS=-MMD#AS_DEPFLAGS=-MMD -MF \$(\@:.o=.d) -MT \$\@#" config.mak ;;
2798     esac
2799
2800     # ffmpeg will use yasm found at ${prefix}/bin during configure
2801     # but then hardcodes 'yasm' in config.mak, fix it.
2802     sed -ie "s#YASM=yasm#YASM=${YASM}#" config.mak
2803     sed -ie "s#YASMDEP=yasm#YASMDEP=${YASM}#" config.mak
2804     sed -ie "s# -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 # #" config.mak
2805   else
2806     CFLAGS="" \
2807     CPPFLAGS="" \
2808     CXXFLAGS="" \
2809     LDFLAGS="$(echo "$LDFLAGS" | sed "s/-Wl,-Bsymbolic-functions//g")" \
2810     ./configure \
2811       --extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \
2812       `if test "$use_debug" = "no"; then echo --disable-debug; fi` \
2813       `if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \
2814       `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
2815       `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\
2816       `if test "$use_neon" = "yes"; then echo --enable-neon; else echo --disable-neon; fi`\
2817       --target-os=$ffmpeg_target_os \
2818       --disable-muxers \
2819       --enable-muxer=spdif \
2820       --enable-muxer=adts \
2821       --enable-muxer=asf \
2822       --enable-muxer=ipod \
2823       --disable-encoders \
2824       --enable-encoder=ac3 \
2825       --enable-encoder=aac \
2826       --enable-encoder=wmav2 \
2827       `if test "$use_ffmpeg_libvorbis" = "yes"; then echo --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis; else echo --disable-libvorbis; fi` \
2828       --disable-decoder=mpeg_xvmc \
2829       --disable-devices \
2830       --disable-ffprobe \
2831       --disable-ffplay \
2832       --disable-ffserver \
2833       --disable-ffmpeg \
2834       --disable-crystalhd \
2835       `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static --disable-shared; else echo --disable-static --enable-shared; fi` \
2836       --disable-doc \
2837       --enable-postproc \
2838       --enable-gpl \
2839       `if test "x$use_vdpau" != "xno"; then echo --enable-vdpau; else echo --disable-vdpau; fi` \
2840       `if test "x$use_vaapi" != "xno"; then echo --enable-vaapi; else echo --disable-vaapi; fi` \
2841       `if test "$use_optimizations" != "no"; then echo --enable-optimizations; else echo --disable-optimizations; fi` \
2842       --enable-protocol=http \
2843       `if test "$have_gnutls" = "yes"; then echo --enable-gnutls; fi` \
2844       --enable-pthreads \
2845       --enable-runtime-cpudetect \
2846       `if test "$use_hardcoded_tables" = "yes"; then echo --enable-hardcoded-tables; else echo --disable-hardcoded-tables; fi`\
2847       `if test "$target_platform" = "target_android"; then echo "--custom-libname-with-major=\\$(SLIBPREF)\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; \
2848        else echo "--custom-libname-with-major=\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; fi` \
2849       `case $host_cpu in i?86*) echo --disable-pic ;; *) echo --enable-pic ;; esac` \
2850       --cc="$CC" &&
2851       sed -i -e "s#define HAVE_SYMVER 1#define HAVE_SYMVER 0#" config.h &&
2852       sed -i -e "s#define HAVE_SYMVER_GNU_ASM 1#define HAVE_SYMVER_GNU_ASM 0#" config.h
2853   fi
2854 ], [$USE_EXTERNAL_FFMPEG])
2855
2856 XB_CONFIG_MODULE([lib/libdvd/libdvdcss], [
2857   ./configure \
2858     CC="$CC" \
2859     CXX="$CXX" \
2860     CFLAGS="$CFLAGS $DROID_DVDLIB_SEEK64" \
2861     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2862     --host=$host_alias \
2863     --build=$build_alias \
2864     --target=$target_alias \      
2865     --disable-doc \
2866     --enable-static \
2867     --with-pic
2868 ], [$SKIP_CONFIG_DVDCSS])
2869
2870 XB_CONFIG_MODULE([lib/libdvd/libdvdread], [
2871   ./configure2 \
2872     --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src $DROID_DVDLIB_SEEK64" \
2873     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2874     --host=$host_alias \
2875     --build=$build_alias \
2876     --target=$target_alias \      
2877     --enable-static \
2878     --disable-shared \
2879     --disable-strip \
2880     --disable-opts \
2881     --cc="$CC" &&
2882   mkdir -p `pwd`/../includes/dvdread
2883   cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread
2884   cp `pwd`/../libdvdread/src/dvdread/*.h `pwd`/../includes/dvdread
2885 ], [0])
2886
2887 XB_CONFIG_MODULE([lib/libdvd/libdvdnav], [
2888   ./configure2 \
2889     --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes $DROID_DVDLIB_SEEK64" \
2890     --extra-ldflags="-L`pwd`/../libdvdread/obj" \
2891     --with-dvdread-config="`pwd`/../dvdread-config" \
2892     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2893     --host=$host_alias \
2894     --build=$build_alias \
2895     --target=$target_alias \      
2896     --enable-static \
2897     --disable-shared \
2898     --cc="$CC"
2899 ], [0])
2900
2901 XB_CONFIG_MODULE([xbmc/visualizations/XBMCProjectM/libprojectM],[
2902   set -x
2903   rm -f CMakeCache.txt &&                              \
2904   CC="$ORIGCC" CXX="$ORIGCXX" LDFLAGS="$LDFLAGS" cmake \
2905     -DCMAKE_BUILD_TYPE=None -DUSE_FTGL:BOOL=OFF        \
2906     -DCMAKE_C_FLAGS:STRING="${CPPFLAGS} ${CFLAGS}"     \
2907     -DCMAKE_CXX_FLAGS:STRING="${CPPFLAGS} ${CXXFLAGS}" \
2908     -DCMAKE_INSTALL_PREFIX="${prefix}"                 \
2909     -DCMAKE_INSTALL_LIBDIR:PATH="${libdir}"            \
2910     -DINCLUDE_INSTALL_DIR:PATH="${includedir}"         \
2911     -DLIB_INSTALL_DIR:PATH="${libdir}"                 \
2912     -DSYSCONF_INSTALL_DIR:PATH="${sysconfdir}"         \
2913     -DSHARE_INSTALL_PREFIX:PATH="${datadir}" . &&
2914   if test "$host_vendor" = "apple" ; then
2915     # cmake has hardcoded paths to macports which bork our darwin depends cross/ppc, remove them
2916     sed -ie "s|-L/opt/local/lib| |" CMakeFiles/projectM.dir/link.txt
2917     sed -ie "s|-L/opt/local/lib| |" CMakeFiles/projectM.dir/flags.make
2918     sed -ie "s|-I/opt/local/include| |" CMakeFiles/projectM.dir/flags.make
2919   fi
2920   set +x
2921 ], [$DISABLE_PROJECTM])
2922
2923 XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[
2924   ./configure  \
2925     CFLAGS="$CFLAGS" \ 
2926     CXXFLAGS="$CXXFLAGS" \
2927     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2928     --host=$host_alias \
2929     --build=$build_alias \
2930     --target=$target_alias \      
2931     --disable-shared \
2932     --enable-static \
2933     --with-pic
2934 ], [$DISABLE_GOOM])
2935
2936 XB_CONFIG_MODULE([xbmc/screensavers/rsxs-0.9/], [
2937   if test "$host_vendor" = "apple"; then
2938     # clang treats inlines different
2939     case $CC in
2940       *clang*)
2941         TEMPCFLAGS="$CFLAGS";;
2942       *)
2943         TEMPCFLAGS="${CFLAGS} -fgnu89-inline";;
2944     esac
2945   else
2946     TEMPCFLAGS="$CFLAGS";
2947   fi
2948   ./configure \
2949     CC="$CC" \
2950     CXX="$CXX" \
2951     CFLAGS="$TEMPCFLAGS" \ 
2952     CXXFLAGS="$CXXFLAGS" \
2953     `if test "$host_vendor" = "apple"; then echo --with-png=${prefix} --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib; fi` \
2954     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2955     --host=$host_alias \
2956     --build=$build_alias \
2957     --target=$target_alias \      
2958     --without-xscreensaver \
2959     --disable-sound \
2960     --disable-cyclone \
2961     --disable-fieldlines \
2962     --disable-flocks \
2963     --disable-flux \
2964     --disable-helios \
2965     --disable-hyperspace \
2966     --disable-lattice \
2967     --disable-skyrocket
2968   if echo "$ARCH" | grep -q freebsd ; then
2969     sed -i.back "s;\(STDBOOL_H = \)stdbool.h;\1;" lib/Makefile
2970   fi
2971 ], [$DISABLE_RSXS])
2972
2973 XB_CONFIG_MODULE([lib/cpluff], [
2974   ./configure --disable-nls \
2975     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2976     --host=$host_alias \
2977     --build=$build_alias \
2978     --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
2979     #LDFLAGS="$LDFLAGS -Wl,-read_only_relocs,suppress"    
2980 ], [0])
2981
2982 XB_CONFIG_MODULE([lib/gtest], [
2983   ./configure \
2984     CC="$CC" \
2985     CXX="$CXX" \
2986     CFLAGS="$CFLAGS" \
2987     --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2988     --host=$host_alias \
2989     --build=$build_alias \
2990     --target=$target_alias \
2991     --disable-shared \
2992     --enable-static \
2993     --with-pthreads
2994 ], [$SKIP_CONFIG_GTEST])
2995
2996 XB_CONFIG_MODULE([pvr-addons], [
2997   ./configure \
2998     --prefix="${prefix}" \
2999     --host=$host_alias \
3000     --build=$build_alias \
3001     --target=$target_alias \
3002     CC="$CC" \
3003     CXX="$CXX" \
3004     CFLAGS="$CFLAGS" \
3005     CXXFLAGS="$CXXFLAGS"
3006 ], [$DISABLE_PVR_ADDON_CONFIG])
3007
3008 AC_OUTPUT
3009
3010 final_message="$final_message\n  prefix:\t$prefix\n$dashes"
3011 echo -e "$final_message\n"