2 # Process this file with autoconf to produce a configure script.
5 AC_INIT([xbmc], [13.0.0], [http://issues.xbmc.org])
6 AC_CONFIG_HEADERS([xbmc/config.h])
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])
13 AC_CONFIG_AUX_DIR([build-aux])
14 AM_INIT_AUTOMAKE([foreign])
18 echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
21 # workaround for autotools that don't set this
22 abs_top_srcdir=${abs_top_srcdir=$(cd $srcdir; pwd)}
24 # check for enabling additional players
25 AC_DEFUN([XB_ADD_PLAYER],
27 AC_MSG_CHECKING([for $2])
31 AC_DEFINE([HAS_$1], 1, [using $2])
32 AC_MSG_RESULT([enabling $2])
35 AC_MSG_RESULT([$2 is not enabled])
39 # check for enabling additional codecs
40 AC_DEFUN([XB_ADD_CODEC],
42 AC_MSG_CHECKING([for $2])
47 AC_DEFINE([HAS_$1], 1, [using $2])
48 AC_MSG_RESULT([enabling $2])
51 AC_MSG_RESULT([$2 is not enabled])
55 # check for library basenames
56 AC_DEFUN([XB_FIND_SONAME],
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`]
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")
71 if [[ ! -z $$1_FILENAME ]]; then
72 $1_SONAME=$($OBJDUMP -p $$1_FILENAME | grep "SONAME.*$2" | awk '{V=2; print $V}')
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
81 host_lib_path="/usr/lib /usr/local/lib"
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`]
92 if [[ -z "$$1_SONAME" ]]; then
94 if test -z "$3" || test "x${$3}" = "xyes"; then
95 AC_MSG_ERROR([Unable to determine soname of lib$2 library])
97 AC_MSG_WARN([Unable to determine soname of lib$2 library])
99 AC_MSG_WARN([lib$2 support disabled])
102 AC_MSG_RESULT([$$1_SONAME])
107 # Function to push and pop libs and includes for a command
108 AC_DEFUN([XB_PUSH_FLAGS], [
110 SAVE_INCLUDES="$INCLUDES"
115 INCLUDES="$SAVE_INCLUDES"
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. =="
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. =="
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"
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])
204 AC_ARG_ENABLE([debug],
205 [AS_HELP_STRING([--enable-debug],
206 [enable debugging information (default is yes)])],
207 [use_debug=$enableval],
211 [AS_HELP_STRING([--with-arch],
212 [build with given arch passing to internal ffmpeg (default is no, needed for crosscompiling)])],
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],
223 [AS_HELP_STRING([--with-cpu],
224 [build with given cpu passing to ffmpeg (default is no)])],
228 AC_ARG_ENABLE([neon],
229 [AS_HELP_STRING([--enable-neon],
230 [enable neon passing to ffmpeg (default is no)])],
231 [use_neon=$enableval],
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])
241 [AS_HELP_STRING([--enable-gl],
242 [enable OpenGL rendering (default is yes)])],
246 AC_ARG_ENABLE([gles],
247 [AS_HELP_STRING([--enable-gles],
248 [enable OpenGLES rendering (default is no)])],
249 [use_gles=$enableval],
253 [AS_HELP_STRING([--enable-sdl],
254 [enable SDL (default is auto)])],
255 [use_sdl=$enableval],
258 AC_ARG_ENABLE([vdpau],
259 [AS_HELP_STRING([--enable-vdpau],
260 [enable VDPAU decoding (default is auto)])],
261 [use_vdpau=$enableval],
264 AC_ARG_ENABLE([vaapi],
265 [AS_HELP_STRING([--enable-vaapi],
266 [enable VAAPI decoding (default is auto)])],
267 [use_vaapi=$enableval],
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])
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])
282 AC_ARG_ENABLE([openmax],
283 [AS_HELP_STRING([--enable-openmax],
284 [enable OpenMax decoding (default is auto, requires OpenGLES)])],
285 [use_openmax=$enableval],
288 AC_ARG_ENABLE([tegra],
289 [AS_HELP_STRING([--enable-tegra],
290 [enable Tegra2 arm (default is no)])],
291 [use_tegra=$enableval],
294 AC_ARG_ENABLE([profiling],
295 [AS_HELP_STRING([--enable-profiling],
296 [enable gprof profiling (default is no)])],
297 [use_profiling=$enableval],
300 AC_ARG_ENABLE([joystick],
301 [AS_HELP_STRING([--enable-joystick],
302 [enable SDL joystick support (default is yes)])],
303 [use_joystick=$enableval],
306 AC_ARG_ENABLE([xrandr],
307 [AS_HELP_STRING([--enable-xrandr],
308 [enable XRandR support (default is yes)])],
309 [use_xrandr=$enableval],
312 AC_ARG_ENABLE([waveform],
313 [AS_HELP_STRING([--enable-waveform],
314 [enable Waveform visualisation (default is yes)])],
315 [use_waveform=$enableval],
318 AC_ARG_ENABLE([spectrum],
319 [AS_HELP_STRING([--enable-spectrum],
320 [enable Spectrum visualisation (default is yes)])],
321 [use_spectrum=$enableval],
324 AC_ARG_ENABLE([goom],
325 [AS_HELP_STRING([--enable-goom],
326 [enable GOOM visualisation (default is no)])],
327 [use_goom=$enableval],
330 AC_ARG_ENABLE([rsxs],
331 [AS_HELP_STRING([--enable-rsxs],
332 [enable really slick X screensavers (default is yes)])],
333 [use_rsxs=$enableval],
336 AC_ARG_ENABLE([fishbmc],
337 [AS_HELP_STRING([--enable-fishbmc],
338 [enable FishBMC visualisation (default is yes)])],
339 [use_fishbmc=$enableval],
342 AC_ARG_ENABLE([projectm],
343 [AS_HELP_STRING([--enable-projectm],
344 [enable ProjectM visualisation (default is yes)])],
345 [use_projectm=$enableval],
348 AC_ARG_ENABLE([wayland],
349 [AS_HELP_STRING([--enable-wayland],
350 [enable wayland (default is no) 'Linux Only'])],
351 [use_wayland=$enableval],
355 [AS_HELP_STRING([--enable-x11],
356 [enable x11 (default is yes) 'Linux Only'])],
357 [use_x11=$enableval],
360 AC_ARG_ENABLE([ccache],
361 [AS_HELP_STRING([--enable-ccache],
362 [enable building with ccache feature (default is auto)])],
363 [use_ccache=$enableval],
366 AC_ARG_ENABLE([alsa],
367 [AS_HELP_STRING([--disable-alsa],
368 [disable ALSA support (only for linux/freebsd)])],
369 [use_alsa=$enableval],
372 AC_ARG_ENABLE([pulse],
373 [AS_HELP_STRING([--enable-pulse],
374 [enable PulseAudio support (default is auto)])],
375 [use_pulse=$enableval],
379 [AS_HELP_STRING([--disable-ssh],
380 [disable SSH SFTP support (default is enabled)])],
381 [use_ssh=$enableval],
384 AC_ARG_ENABLE([rtmp],
385 [AS_HELP_STRING([--enable-rtmp],
386 [enable RTMP support via librtmp (default is auto)])],
387 [use_librtmp=$enableval],
390 AC_ARG_ENABLE([samba],
391 [AS_HELP_STRING([--disable-samba],
392 [disable SAMBA support (default is enabled)])],
393 [use_samba=$enableval],
397 [AS_HELP_STRING([--enable-nfs],
398 [enable NFS support via libnfs (default is auto)])],
399 [use_libnfs=$enableval],
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])
408 AC_ARG_ENABLE([airplay],
409 [AS_HELP_STRING([--enable-airplay],
410 [enable AirPlay support(default is auto)])],
411 [use_airplay=$enableval],
414 AC_ARG_ENABLE([airtunes],
415 [AS_HELP_STRING([--enable-airtunes],
416 [enable AirTunes support(default is auto)])],
417 [use_airtunes=$enableval],
420 AC_ARG_ENABLE([upnp],
421 [AS_HELP_STRING([--disable-upnp],
422 [disable UPnP support (default is enabled)])],
423 [use_upnp=$enableval],
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])
432 AC_ARG_ENABLE([dvdcss],
433 [AS_HELP_STRING([--enable-dvdcss],
434 [enable DVDCSS support (default is yes)])],
435 [use_dvdcss=$enableval],
439 [AS_HELP_STRING([--enable-mid],
440 [enable MID support (default is no)])],
441 [use_mid=$enableval],
445 [AS_HELP_STRING([--disable-hal],
446 [disable HAL support (default is enabled if hal and hal-storage is found)])],
447 [use_hal=$enableval],
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],
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])
462 AC_ARG_ENABLE([non-free],
463 [AS_HELP_STRING([--disable-non-free],
464 [disable componentents with non-compliant licenses])],
465 [use_nonfree=$enableval],
468 AC_ARG_ENABLE([asap-codec],
469 [AS_HELP_STRING([--enable-asap-codec],
470 [enable ASAP ADPCM support])],
471 [use_asap=$enableval],
474 AC_ARG_ENABLE([mysql],
475 [AS_HELP_STRING([--disable-mysql],
477 [use_mysql=$enableval],
480 AC_ARG_ENABLE([webserver],
481 [AS_HELP_STRING([--disable-webserver],
482 [disable webserver])],
483 [use_webserver=$enableval],
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])
492 AC_ARG_ENABLE([libbluray],
493 [AS_HELP_STRING([--enable-libbluray],
494 [enable libbluray support])],
495 [use_libbluray=$enableval],
496 [use_libbluray=auto])
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])
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])
511 AC_ARG_ENABLE([udev],
512 [AS_HELP_STRING([--enable-udev],
513 [enable udev support (default is auto)])],
514 [use_libudev=$enableval],
517 AC_ARG_ENABLE([libusb],
518 [AS_HELP_STRING([--enable-libusb],
519 [enable libusb support (default is auto)])],
520 [use_libusb=$enableval],
523 AC_ARG_ENABLE([libcec],
524 [AS_HELP_STRING([--enable-libcec],
525 [enable libcec support (default is auto)])],
526 [use_libcec=$enableval],
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])
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])
541 AC_ARG_ENABLE([libcap],
542 [AS_HELP_STRING([--enable-libcap],
543 [enable libcap support (default is auto)])],
544 [use_libcap=$enableval],
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],
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])
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],
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])
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])
579 ### End of external library options
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"
586 # Checks for programs.
587 PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values
590 CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS"
591 PASSED_CXXFLAGS=$CXXFLAGS # Hack to override autoconf default values
593 AX_PROG_CXX_FOR_BUILD
594 CXXFLAGS="$PASSED_CXXFLAGS $DEFAULT_COMPILE_FLAGS"
601 OBJDUMP="${OBJDUMP:-objdump}"
603 use_external_ffmpeg=no
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))
614 # host detection and setup
616 i*86*-linux-android*)
617 target_platform=target_android
621 ffmpeg_target_os=linux
629 i*86*-linux-gnu*|i*86*-*-linux-uclibc*)
631 if test "$use_cpu" = "no" -a "$cross_compiling" = "yes"; then
635 use_static_ffmpeg=yes
637 x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*)
639 if test "$use_cpu" = "no" -a "$cross_compiling" = "yes"; then
643 use_static_ffmpeg=yes
650 ARCH="x86_64-freebsd"
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"
676 powerpc-apple-darwin*)
683 powerpc-*-linux-gnu*|powerpc-*-linux-uclibc*)
686 powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
687 ARCH="powerpc64-linux"
689 arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
692 ffmpeg_target_os=linux
699 use_static_ffmpeg=yes
701 arm*-*linux-android*)
702 target_platform=target_android
706 ffmpeg_target_os=linux
717 AC_MSG_ERROR(unsupported host ($host))
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
727 AC_SUBST([DARWIN_NATIVE_ARCH])
729 if test "$target_platform" = "target_android" ; then
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])
738 case $use_platform in
740 target_platform=target_raspberry_pi
744 use_hardcoded_tables="yes"
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"])
751 ffmpeg_target_os=linux
755 XBMC_SETUP_ARCH_DEFINES()
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}')
768 final_message="$final_message\n git Rev.:\t${GIT_REV}"
770 if test "$host_vendor" = "apple"; then
771 echo "#define GIT_REV \"$GIT_REV\"" > git_revision.h
773 SDL_DEFINES="$SDL_DEFINES -D'GIT_REV=\"$GIT_REV\"'"
776 if test "$build_shared_lib" = "yes"; then
777 final_message="$final_message\n Shared lib\tYes"
778 AC_SUBST(USE_LIBXBMC,1)
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"
789 final_message="$final_message\n Profiling:\tNo"
790 DEBUG_FLAGS="-g -D_DEBUG -Wall"
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"
798 final_message="$final_message\n Profiling:\tNo"
799 DEBUG_FLAGS="-DNDEBUG=1"
802 CFLAGS="$CFLAGS $DEBUG_FLAGS"
803 CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS"
806 if test "$use_optimizations" = "yes"; then
807 final_message="$final_message\n Optimization:\tYes"
808 if test "$target_platform" = "target_raspberry_pi"; then
812 CXXFLAGS="-O2 $CXXFLAGS"
816 final_message="$final_message\n Optimization:\tNo"
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"
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"
848 USE_EXTERNAL_FFMPEG=1
849 elif test "$target_platform" = "target_raspberry_pi"; then
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"
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"
866 [ CFLAGS="$SAVE_CFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork"
867 CXXFLAGS="$CXXFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork"
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"
877 if test "$use_static_ffmpeg" = "yes"; then
879 AC_DEFINE([USE_STATIC_FFMPEG], [1], [link ffmpeg statically])
880 # ffmpeg may depend on gnutls and vorbisenc, we add those libs at the end of linker
881 # command in order to resolve any missing symbols
882 GNUTLS_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors gnutls`
883 VORBISENC_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors vorbisenc`
886 # Checks for library functions.
889 AC_FUNC_CLOSEDIR_VOID
890 AC_FUNC_ERROR_AT_LINE
892 AC_PROG_GCC_TRADITIONAL
894 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
898 # Boxee is apparently having compile problems
899 # if HAVE_REALLOC is defined. Sort this later.
901 AC_FUNC_SELECT_ARGTYPES
902 AC_FUNC_SETVBUF_REVERSED
910 AC_CHECK_FUNCS([atexit dup2 fdatasync floor fs_stat_dev ftime ftruncate getcwd gethostbyaddr gethostbyname gethostname getpagesize getpass gettimeofday inet_ntoa lchown localeconv memchr memmove memset mkdir modf munmap pow rmdir select setenv setlocale socket sqrt strcasecmp strchr strcspn strdup strerror strncasecmp strpbrk strrchr strspn strstr strtol strtoul sysinfo tzset utime posix_fadvise])
912 # Check for various sizes
913 AC_CHECK_SIZEOF([int])
914 AC_CHECK_SIZEOF([size_t])
916 # Check for intrinsics
917 AC_MSG_CHECKING([for __sync_add_and_fetch(temp, 1)])
918 AC_TRY_LINK([],[long* temp=0; long ret=__sync_add_and_fetch(temp, 1);],
919 [have_builtin_sync_add_and_fetch=yes],
920 [have_builtin_sync_add_and_fetch=no])
921 AC_MSG_RESULT($have_builtin_sync_add_and_fetch)
922 if test "x$have_builtin_sync_add_and_fetch" = "xyes"; then
923 AC_DEFINE(HAS_BUILTIN_SYNC_ADD_AND_FETCH, 1,
924 [Define to 1 if your compiler supports the __sync_add_and_fetch() intrinsic.])
927 AC_MSG_CHECKING([for __sync_sub_and_fetch(temp, 1)])
928 AC_TRY_LINK([],[long* temp=0; long ret=__sync_sub_and_fetch(temp, 1);],
929 [have_builtin_sync_sub_and_fetch=yes],
930 [have_builtin_sync_sub_and_fetch=no])
931 AC_MSG_RESULT($have_builtin_sync_sub_and_fetch)
932 if test "x$have_builtin_sync_sub_and_fetch" = "xyes"; then
933 AC_DEFINE(HAS_BUILTIN_SYNC_SUB_AND_FETCH, 1,
934 [Define to 1 if your compiler supports the __sync_sub_and_fetch() intrinsic.])
937 AC_MSG_CHECKING([for __sync_val_compare_and_swap(temp, 1, 1)])
938 AC_TRY_LINK([],[long *temp = 0; long ret=__sync_val_compare_and_swap(temp, 1, 1);],
939 [have_builtin_sync_val_compare_and_swap=yes],
940 [have_builtin_sync_val_compare_and_swap=no])
941 AC_MSG_RESULT($have_builtin_sync_val_compare_and_swap)
942 if test "x$have_builtin_sync_val_compare_and_swap" = "xyes"; then
943 AC_DEFINE(HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP, 1,
944 [Define to 1 if your compiler supports the __sync_val_compare_and_swap() intrinsic.])
947 # Check for u16string/u32string declarations
949 AC_CHECK_TYPES([std::u16string, std::u32string], [], [], [[#include <string>]])
950 AC_CHECK_TYPES([char16_t, char32_t])
951 AC_CHECK_SIZEOF([wchar_t])
954 # Add top source directory for all builds so we can use config.h
955 INCLUDES="-I\$(abs_top_srcdir) $INCLUDES"
957 # Check inotify availability
958 AC_CHECK_HEADER([sys/inotify.h], AC_DEFINE([HAVE_INOTIFY],[1],[Define if we have inotify]),)
960 # Checks for boost headers using CXX instead of CC
962 AC_CHECK_HEADER([boost/shared_ptr.hpp],, AC_MSG_ERROR($missing_library))
966 if test -z "$PYTHON_NOVERSIONCHECK"; then
967 AX_PYTHON_DEVEL([>= 2.4])
968 PYTHON_VERSION=$ac_python_version
971 if test -z "$PYTHON_VERSION"; then
972 AC_MSG_ERROR([Can't find a Python version.])
974 LIBS="$LIBS $PYTHON_LDFLAGS"
975 AC_MSG_NOTICE([Using Python $PYTHON_VERSION])
979 if test "$use_wayland" = "yes" && test "$host_vendor" != "apple"; then
980 AC_MSG_NOTICE($wayland_enabled)
981 PKG_CHECK_MODULES([WAYLAND_CLIENT], [wayland-client],
982 [INCLUDES="$INCLUDES $WAYLAND_CLIENT_CFLAGS";
983 WAYLAND_CLIENT_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l wayland-client\`; echo ${LIBRARY:2}`;
984 XB_FIND_SONAME([WAYLAND_CLIENT_LIBRARY], ${WAYLAND_CLIENT_LIBRARY_LINE})],
985 AC_MSG_ERROR($missing_library))
986 PKG_CHECK_MODULES([WAYLAND_EGL], [wayland-egl],
987 [INCLUDES="$INCLUDES $WAYLAND_EGL_CFLAGS";
988 WAYLAND_EGL_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l wayland-egl\`; echo ${LIBRARY:2:11}`
989 XB_FIND_SONAME([WAYLAND_EGL_LIBRARY], ${WAYLAND_EGL_LIBRARY_LINE})],
990 AC_MSG_ERROR($missing_library))
991 PKG_CHECK_MODULES([XKBCOMMON], [xkbcommon],
992 [INCLUDES="$INCLUDES $XKBCOMMON_CFLAGS";
993 XKBCOMMON_LIBRARY_LINE=`LIBRARY=\`${PKG_CONFIG} --libs-only-l xkbcommon\`; echo ${LIBRARY:2}`;
994 XB_FIND_SONAME([XKBCOMMON_LIBRARY], $XKBCOMMON_LIBRARY_LINE)],
995 AC_MSG_ERROR($missing_library))
996 AC_DEFINE([HAVE_WAYLAND], [1], [Define to 1 if you have Wayland libs installed.])
997 AC_DEFINE([HAVE_XKBCOMMON], [1], [Define to 1 if you have libxkbcommon installed.])
999 # If we are also building with tests then we want to build
1000 # wayland tests as well
1001 if test "$configure_gtest" = "yes"; then
1003 PKG_CHECK_MODULES([PIXMAN],
1004 [pixman-1],have_pixman=yes,
1005 [AC_MSG_WARN($missing_library); have_pixman=no])
1006 PKG_CHECK_MODULES([WESTON],
1007 [weston >= 1.1.90],[have_weston_sdk=yes],
1008 [have_weston_sdk=no; AC_MSG_WARN($missing_library)])
1010 AC_CHECK_PROG(WAYLAND_SCANNER, wayland-scanner, "wayland-scanner", "no")
1011 if test "x$WAYLAND_SCANNER" == "xno"; then
1012 AC_MSG_WARN($missing_program)
1014 if test "x$have_weston_sdk" == "xyes" && test "x$have_pixman" = "xyes"; then
1015 AC_SUBST(WAYLAND_TEST_INCLUDES,"$WAYLAND_CLIENT_CFLAGS $XKBCOMMON_CFLAGS $PIXMAN_CFLAGS $WESTON_CFLAGS")
1016 AC_SUBST(WAYLAND_TEST_LIBS,"$WAYLAND_CLIENT_LIBS $XKBCOMMON_LIBS $PIXMAN_LIBS $WESTON_LIBS")
1017 AC_DEFINE([HAVE_WESTON_SDK], [1], [Define to 1 if Weston SDK is installed.])
1018 AC_SUBST(USE_WAYLAND_TEST_EXTENSION, 1)
1020 AC_SUBST(WAYLAND_SCANNER)
1021 AC_DEFINE([HAVE_WAYLAND_XBMC_PROTO],[1],["Define to 1 if the wayland test-protocol will be built"])
1025 # Disable SDL and X11 builds
1030 # Wayland requires the EGL "window system" which in turn only supports
1031 # the OpenGL ES API, so enable gles support
1034 AC_MSG_RESULT($wayland_disabled)
1037 # Checks for platforms libraries.
1038 if test "$use_gles" = "yes"; then
1040 # GLES overwrites GL if both set to yes.
1041 if test "$host_vendor" = "apple" ; then
1042 AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."])
1043 AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
1044 AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
1046 if test "$target_platform" = "target_raspberry_pi"; then
1047 AC_DEFINE([HAVE_LIBEGL],[1],["Define to 1 if you have the `EGL' library (-lEGL)."])
1048 AC_DEFINE([HAVE_LIBGLESV2],[1],["Define to 1 if you have the `GLESv2' library (-lGLESv2)."])
1049 AC_MSG_RESULT(== WARNING: OpenGLES support is assumed.)
1050 LIBS="$LIBS -lEGL -lGLESv2 -lbcm_host -lvcos -lvchiq_arm"
1052 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
1053 AC_CHECK_LIB([GLESv2],[main],, AC_MSG_ERROR($missing_library))
1057 if test "$use_gl" = "yes"; then
1058 if test "$host_vendor" = "apple" ; then
1059 # linking to OpenGL.framework instead of libGL, libGLU so AC_CHECK_LIB will fail
1060 LIBS="$LIBS -framework OpenGL"
1061 AC_DEFINE([HAVE_LIBGL],[1],["Define to 1 if you have the `GL' library (-lGL)."])
1062 AC_MSG_RESULT(== WARNING: OpenGL support is assumed.)
1063 AC_DEFINE([HAVE_LIBGLU],[1],["Define to 1 if you have the `GLU' library (-lGLU)."])
1064 AC_MSG_RESULT(== WARNING: OpenGLU support is assumed.)
1065 AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
1067 AC_CHECK_LIB([GL], [main],, AC_MSG_ERROR($missing_library))
1068 AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
1069 AC_CHECK_LIB([GLU], [main],, AC_MSG_ERROR($missing_library))
1072 AC_MSG_RESULT(== WARNING: OpenGL support is disabled. XBMC will run VERY slow. ==)
1073 AC_CHECK_LIB([SDL_gfx],[main])
1077 # platform common libraries
1078 if test "$use_mysql" = "yes"; then
1079 AC_PATH_PROG(MYSQL_CONFIG, mysql_config,"no")
1080 if test "x$MYSQL_CONFIG" != "xno"; then
1081 AC_DEFINE([HAVE_MYSQL],[1],["Define to 1 if you have the `mysql' library (-lmysqlclient)."])
1082 INCLUDES="$INCLUDES `$MYSQL_CONFIG --include`"
1083 MYSQL_LIBS=`$MYSQL_CONFIG --libs`
1084 LIBS="$LIBS $MYSQL_LIBS"
1085 AC_SUBST(MYSQL_LIBS)
1087 AC_MSG_ERROR($missing_program)
1090 AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library))
1091 AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library))
1092 AC_CHECK_HEADER([mpeg2dec/mpeg2convert.h],, AC_MSG_ERROR($missing_library),
1093 AC_INCLUDES_DEFAULT()
1094 [#include <mpeg2dec/mpeg2.h>])
1095 AC_CHECK_HEADER([mad.h],, AC_MSG_ERROR($missing_library))
1096 AC_CHECK_HEADER([jpeglib.h],, AC_MSG_ERROR($missing_library))
1097 AC_CHECK_HEADER([samplerate.h],, AC_MSG_ERROR($missing_library))
1098 AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library))
1099 AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library))
1100 AC_CHECK_HEADER([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library))
1101 AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library))
1102 AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library))
1104 # we need to check for the header because if it exists we set the openssl
1105 # and gcrypt MT callback hooks. This is mostly so that libcurl operates
1106 # in MT manner correctly.
1107 AC_MSG_CHECKING([for CRYPTO_set_locking_callback(0)])
1108 AC_TRY_LINK([],[CRYPTO_set_locking_callback(0);],
1109 [have_curl_static=yes],
1110 [have_curl_static=no])
1111 AC_MSG_RESULT($have_curl_static)
1112 AC_CHECK_HEADER([openssl/crypto.h], AC_DEFINE([HAVE_OPENSSL],[1],[Define if we have openssl]),)
1113 AC_CHECK_HEADER([gcrypt.h], gcrypt_headers_available=yes,gcrypt_headers_available=no)
1114 if test "$gcrypt_headers_available" = "yes"; then
1115 # if we have the headers then we must have the lib
1116 AC_CHECK_LIB([gpg-error],[main],, AC_MSG_ERROR($missing_library))
1117 AC_CHECK_LIB([gcrypt],[gcry_control],, AC_MSG_ERROR($missing_library))
1118 AC_DEFINE([HAVE_GCRYPT],[1],[Define if we have gcrypt])
1120 PKG_CHECK_MODULES([GNUTLS], [gnutls], [have_gnutls=yes];AC_DEFINE([HAVE_GNUTLS], [1], [Define if we have gnutls]), AC_MSG_WARN("gnutls not found, ffmpeg TLS support disabled"))
1122 AC_CHECK_LIB([bz2], [main],, AC_MSG_ERROR($missing_library))
1123 AC_CHECK_LIB([jpeg], [main],, AC_MSG_ERROR($missing_library)) # check for cximage
1124 AC_CHECK_LIB([tiff], [main],, AC_MSG_ERROR($missing_library))
1125 if echo "$ARCH" | grep -q freebsd; then
1126 AC_CHECK_LIB([pthread], [main],LIBS="-pthread $LIBS", AC_MSG_ERROR($missing_library))
1127 AC_CHECK_LIB([pthread], [pthread_set_name_np],
1128 AC_DEFINE([HAVE_PTHREAD_SET_NAME_NP],[1],["Define to 1 if pthread has pthread_set_name_np"]),
1129 AC_MSG_RESULT([Could not find pthread_set_name_np in pthread]))
1131 if test "$target_platform" != "target_android" ; then
1132 AC_CHECK_LIB([pthread], [main],, AC_MSG_ERROR($missing_library))
1133 AC_CHECK_LIB([pthread], [pthread_setname_np],
1134 AC_DEFINE([HAVE_PTHREAD_SETNAME_NP],[1],["Define to 1 if pthread has pthread_setname_np"]),
1135 AC_MSG_RESULT([Could not find pthread_setname_np in pthread]))
1138 AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library))
1139 AC_CHECK_LIB([z], [main],, AC_MSG_ERROR($missing_library))
1140 AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library))
1141 AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library))
1142 if test "$use_mysql" = "yes"; then
1143 AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library))
1145 AC_CHECK_LIB([bluetooth], [hci_devid],, AC_MSG_RESULT([Could not find suitable version of libbluetooth]))
1146 AC_CHECK_LIB([yajl], [main],, AC_MSG_ERROR($missing_library))
1147 AC_CHECK_LIB([tinyxml], [main],, AC_MSG_ERROR($missing_library))
1148 if test "$target_platform" = "target_android" ; then
1149 AC_CHECK_LIB([android], [main],, AC_MSG_ERROR($missing_library))
1150 AC_CHECK_LIB([log], [__android_log_vprint],, AC_MSG_ERROR($missing_library))
1151 AC_CHECK_LIB([jnigraphics], [main],, AC_MSG_ERROR($missing_library))
1153 PKG_CHECK_MODULES([LIBXML], [libxml-2.0],
1154 [INCLUDES="$INCLUDES $LIBXML_CFLAGS"; LIBS="$LIBS $LIBXML_LIBS"],
1155 AC_MSG_ERROR($missing_library))
1156 PKG_CHECK_MODULES([LIBXSLT], [libxslt],
1157 [INCLUDES="$INCLUDES $LIBXSLT_CFLAGS"; LIBS="$LIBS $LIBXSLT_LIBS"],
1158 AC_MSG_ERROR($missing_library))
1159 PKG_CHECK_MODULES([FRIBIDI], [fribidi],
1160 [INCLUDES="$INCLUDES $FRIBIDI_CFLAGS"; LIBS="$LIBS $FRIBIDI_LIBS"],
1161 AC_MSG_ERROR($missing_library))
1162 PKG_CHECK_MODULES([SQLITE3], [sqlite3],
1163 [INCLUDES="$INCLUDES $SQLITE3_CFLAGS"; LIBS="$LIBS $SQLITE3_LIBS"],
1164 AC_MSG_ERROR($missing_library))
1165 PKG_CHECK_MODULES([PNG], [libpng],
1166 [INCLUDES="$INCLUDES $PNG_CFLAGS"; LIBS="$LIBS $PNG_LIBS"],
1167 AC_MSG_ERROR($missing_library))
1168 PKG_CHECK_MODULES([PCRECPP], [libpcrecpp],
1169 [INCLUDES="$INCLUDES $PCRECPP_CFLAGS"; LIBS="$LIBS $PCRECPP_LIBS"]; \
1170 AC_DEFINE([HAVE_LIBPCRECPP],[1],["Define to 1 if libpcrecpp is installed"]),
1171 AC_MSG_ERROR($missing_library))
1172 PKG_CHECK_MODULES([PCRE], [libpcre],
1173 [INCLUDES="$INCLUDES $PCRE_CFLAGS"; LIBS="$LIBS $PCRE_LIBS"]; \
1174 AC_DEFINE([HAVE_LIBPCRE],[1],["Define to 1 if libpcre is installed"]),
1175 AC_MSG_ERROR($missing_library))
1176 PKG_CHECK_MODULES([SAMPLERATE], [samplerate],
1177 [INCLUDES="$INCLUDES $SAMPLERATE_CFLAGS"; LIBS="$LIBS $SAMPLERATE_LIBS"],
1178 AC_MSG_ERROR($missing_library))
1179 PKG_CHECK_MODULES([FREETYPE2], [freetype2],
1180 [INCLUDES="$INCLUDES $FREETYPE2_CFLAGS"; LIBS="$LIBS $FREETYPE2_LIBS"],
1181 AC_MSG_ERROR($missing_library))
1182 PKG_CHECK_MODULES([TAGLIB], [taglib >= 1.8],
1183 [INCLUDES="$INCLUDES $TAGLIB_CFLAGS"; LIBS="$LIBS $TAGLIB_LIBS"],
1184 AC_MSG_ERROR($missing_library))
1186 if test "$use_optical_drive" = "yes"; then
1187 PKG_CHECK_MODULES([CDIO], [libcdio],
1188 [INCLUDES="$INCLUDES $CDIO_CFLAGS"; LIBS="$LIBS $CDIO_LIBS"],
1189 AC_MSG_ERROR($missing_library))
1192 if test "$target_platform" = "target_android" ; then
1193 PKG_CHECK_MODULES([ZIP], [libzip],
1194 [INCLUDES="$INCLUDES $ZIP_CFLAGS"; LIBS="$LIBS $ZIP_LIBS"],
1195 AC_MSG_ERROR($missing_library))
1198 # check for libbluray
1199 AS_CASE([x$use_libbluray],
1201 PKG_CHECK_MODULES([LIBBLURAY],[libbluray >= 0.2.1],[use_libbluray="yes"], AC_MSG_ERROR($missing_library))
1204 PKG_CHECK_MODULES([LIBBLURAY],[libbluray >= 0.2.1],[use_libbluray="yes"], [use_libbluray="no"])
1207 AS_CASE([x$use_libbluray],
1209 INCLUDES="$INCLUDES $LIBBLURAY_CFLAGS";
1210 XB_FIND_SONAME([BLURAY], [bluray], [use_libbluray])
1211 AC_DEFINE([HAVE_LIBBLURAY], 1, [System has libbluray library])
1212 AC_SUBST([HAVE_LIBBLURAY], 1)
1213 AC_CHECK_LIB([bluray], [bd_register_argb_overlay_proc],
1214 AC_CHECK_DECL([BD_EVENT_IDLE],
1215 AC_DEFINE([HAVE_LIBBLURAY_BDJ], 1, [System has libbluray library with bdj support]),,
1216 [[#include <libbluray/bluray.h>]]))
1218 AC_SUBST([HAVE_LIBBLURAY], 0)
1222 #Check to see if libs are needed for functions that are often built-in to libc
1223 AC_SEARCH_LIBS([iconv_open],iconv,,AC_SEARCH_LIBS([libiconv_open],iconv,,AC_MSG_ERROR($missing_library)))
1224 AC_SEARCH_LIBS([dlopen],dl)
1225 AC_SEARCH_LIBS([clock_gettime],rt)
1226 AC_SEARCH_LIBS([dn_expand], resolv)
1227 AC_SEARCH_LIBS([_dn_expand], resolv)
1228 AC_SEARCH_LIBS([__dn_expand],resolv)
1230 # platform dependent libraries
1231 if test "$host_vendor" = "apple" ; then
1232 if test "$use_arch" != "arm"; then
1233 AC_CHECK_LIB([SDL], [main],, AC_MSG_ERROR($missing_library))
1234 AC_DEFINE([HAVE_SDL],[1],["Define to 1 if using sdl"])
1237 if test "$target_platform" != "target_android" ; then
1238 AC_CHECK_LIB([jasper], [main],, AC_MSG_ERROR($missing_library)) # check for cximage
1240 if test "x$use_alsa" != "xno"; then
1241 PKG_CHECK_MODULES([ALSA], [alsa],
1242 [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"; use_alsa=yes],
1243 AC_MSG_NOTICE($alsa_not_found); use_alsa=no)
1245 PKG_CHECK_MODULES([DBUS], [dbus-1],
1246 [INCLUDES="$INCLUDES $DBUS_CFLAGS"; LIBS="$LIBS $DBUS_LIBS"; use_dbus=yes]; \
1247 AC_DEFINE([HAVE_DBUS],[1],["Define to 1 if dbus is installed"]),
1248 AC_MSG_NOTICE($missing_library); use_dbus=no)
1249 if test "x$use_sdl" != "xno"; then
1250 PKG_CHECK_MODULES([SDL], [sdl],
1251 [INCLUDES="$INCLUDES $SDL_CFLAGS"; LIBS="$LIBS $SDL_LIBS"],
1252 AC_MSG_ERROR($missing_library))
1253 AC_CHECK_LIB([SDL_image], [main],, AC_MSG_ERROR($missing_library))
1254 AC_DEFINE([HAVE_SDL],[1],["Define to 1 if using sdl"])
1258 XB_FIND_SONAME([MAD], [mad])
1259 XB_FIND_SONAME([OGG], [ogg])
1260 XB_FIND_SONAME([CURL], [curl])
1261 XB_FIND_SONAME([FLAC], [FLAC])
1262 XB_FIND_SONAME([VORBIS], [vorbis])
1263 XB_FIND_SONAME([VORBISFILE], [vorbisfile])
1264 XB_FIND_SONAME([MODPLUG], [modplug])
1265 XB_FIND_SONAME([ASS], [ass])
1266 XB_FIND_SONAME([MPEG2], [mpeg2])
1269 if test "x$use_libmp3lame" != "xno"; then
1270 XB_FIND_SONAME([LAMEENC], [mp3lame], [use_libmp3lame])
1271 if test "x$use_libmp3lame" != "xno"; then
1272 AC_CHECK_HEADER([lame/lame.h],, AC_MSG_ERROR($missing_headers))
1275 AS_CASE([x$use_libmp3lame],
1277 AC_SUBST([HAVE_LIBMP3LAME], 0)
1280 AC_DEFINE([HAVE_LIBMP3LAME], 1, [System has libmp3lame library])
1281 AC_SUBST([HAVE_LIBMP3LAME], 1)
1284 if test "x$use_libvorbisenc" != "xno"; then
1285 XB_FIND_SONAME([VORBISENC], [vorbisenc], [use_libvorbisenc])
1286 if test "x$use_libvorbisenc" != "xno"; then
1287 AC_CHECK_HEADER([vorbis/vorbisenc.h],, AC_MSG_ERROR($missing_headers))
1290 AS_CASE([x$use_libvorbisenc],
1292 AC_SUBST([HAVE_LIBVORBISENC], 0)
1294 AC_DEFINE([HAVE_LIBVORBISENC], 1, [System has libvorbisenc library])
1295 AC_SUBST([HAVE_LIBVORBISENC], 1)
1300 if test "$use_webserver" = "yes"; then
1301 AC_CHECK_LIB([microhttpd], [main],, AC_MSG_ERROR($missing_library))
1305 if test "$use_optical_drive" = "yes"; then
1306 AC_DEFINE([HAS_DVD_DRIVE], [1], [Define to 1 to have optical drive support])
1310 if test "$use_alsa" = "yes" && test "$host_vendor" != "apple"; then
1311 PKG_CHECK_MODULES([ALSA], [alsa],
1312 [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"],
1313 AC_MSG_ERROR($missing_library))
1314 AC_DEFINE([HAS_ALSA], [1], [Define to 0 to disable ALSA support])
1317 AC_MSG_RESULT($alsa_disabled)
1321 if test "x$use_pulse" != "xno"; then
1322 if test "$host_vendor" = "apple" ; then
1323 if test "x$use_pulse" = "xyes"; then
1324 AC_MSG_ERROR($pulse_disabled)
1327 AC_MSG_RESULT($pulse_disabled)
1331 PKG_CHECK_MODULES([PULSE], [libpulse >= 1.0],
1332 [INCLUDES="$INCLUDES $PULSE_CFLAGS"; LIBS="$LIBS $PULSE_LIBS"; USE_PULSE=1;
1333 HAVE_LIBPULSE=1; AC_DEFINE([HAVE_LIBPULSE],[1],[Pulse audio enabled])],
1334 [pulse_found="no"; USE_PULSE=0; HAVE_LIBPULSE=0])
1336 if test "$pulse_found" = "no"; then
1337 if test "x$use_pulse" = "xyes"; then
1338 AC_MSG_ERROR($pulse_not_found)
1340 AC_MSG_RESULT($pulse_disabled)
1345 AC_MSG_RESULT($pulse_disabled)
1350 if test "$host_vendor" = "apple" ; then
1352 AC_MSG_RESULT($hal_disabled)
1354 if test "$use_hal" = "yes"; then
1355 PKG_CHECK_MODULES([HAL], [hal],
1356 [INCLUDES="$INCLUDES $HAL_CFLAGS"; LIBS="$LIBS $HAL_LIBS"],
1357 use_hal=no;AC_MSG_RESULT($hal_not_found))
1358 PKG_CHECK_MODULES([HAL_STORAGE], [hal-storage],
1359 [INCLUDES="$INCLUDES $HAL_STORAGE_CFLAGS"; LIBS="$LIBS $HAL_STORAGE_LIBS"],
1360 use_hal=no;AC_MSG_RESULT($halstorage_not_found))
1362 AC_MSG_RESULT($hal_disabled)
1364 if test "$use_hal" = "yes"; then
1365 AC_DEFINE([HAS_HAL], [1], [Define to 1 if you have HAL installed])
1370 if test "$host_vendor" = "apple" ; then
1372 AC_MSG_RESULT($avahi_disabled)
1374 if test "$use_avahi" = "yes"; then
1375 AC_CHECK_LIB([avahi-common], [main],,
1376 use_avahi=no;AC_MSG_RESULT($avahi_not_found))
1377 if test "$use_avahi" = "yes"; then
1378 #either both libs or none
1379 AC_CHECK_LIB([avahi-client], [main],,
1380 use_avahi=no;AC_MSG_RESULT($avahi_not_found))
1383 AC_MSG_RESULT($avahi_disabled)
1388 if test "$use_mdnsembedded" != "no"; then
1389 AC_CHECK_LIB([mDNSEmbedded], [embedded_mDNSInit],,
1390 [if test "$use_mdnsembedded" = "yes"; then
1391 AC_MSG_ERROR($mdnsembedded_not_found)
1393 elif test "$use_mdnsembedded" != "no"; then
1394 AC_MSG_NOTICE($mdnsembedded_not_found)
1395 use_mdnsembedded="no"
1399 if test $use_mdnsembedded != "no"; then
1403 AC_MSG_RESULT($mdnsembedded_disabled)
1406 AC_SUBST(USE_MDNSEMBEDDED)
1409 if test "$use_x11" = "yes" && test "$host_vendor" != "apple"; then
1410 AC_MSG_NOTICE($x11_enabled)
1411 PKG_CHECK_MODULES([X11], [x11],
1412 [INCLUDES="$INCLUDES $X11_CFLAGS"; LIBS="$LIBS $X11_LIBS"],
1413 AC_MSG_ERROR($missing_library))
1414 PKG_CHECK_MODULES([XEXT], [xext],
1415 [INCLUDES="$INCLUDES $XEXT_CFLAGS"; LIBS="$LIBS $XEXT_LIBS"],
1416 AC_MSG_ERROR($missing_library))
1417 AC_DEFINE([HAVE_X11], [1], [Define to 1 if you have X11 libs installed.])
1419 AC_MSG_RESULT($x11_disabled)
1423 if test "$host_vendor" = "apple" || test "$use_x11" = "no"; then
1425 AC_MSG_RESULT($xrandr_disabled)
1427 if test "$use_xrandr" = "yes" ; then
1428 AC_CHECK_LIB([Xrandr], [main],,
1429 use_xrandr="no";AC_MSG_RESULT($xrandr_not_found))
1431 AC_MSG_RESULT($xrandr_disabled)
1436 if test "$use_waveform" = "yes"; then
1437 AC_MSG_NOTICE($waveform_enabled)
1440 AC_MSG_NOTICE($waveform_disabled)
1445 if test "$use_spectrum" = "yes"; then
1446 AC_MSG_NOTICE($spectrum_enabled)
1449 AC_MSG_NOTICE($spectrum_disabled)
1454 if test "$host_vendor" = "apple" ; then
1455 AC_MSG_NOTICE($goom_disabled)
1458 if test "$use_goom" = "yes" && test "$use_gl" = "yes"; then
1459 AC_MSG_NOTICE($goom_enabled)
1462 AC_MSG_NOTICE($goom_disabled)
1468 if test "$use_rsxs" = "no" || test "$use_gl" = "no"; then
1469 AC_MSG_NOTICE($rsxs_disabled)
1472 AC_MSG_NOTICE($rsxs_enabled)
1474 # darwin osx can do rsxs but does not use x11, so do not pkg-config check for them
1475 if test "$host_vendor" != "apple" ; then
1476 PKG_CHECK_MODULES([XT], [xt],
1477 [INCLUDES="$INCLUDES $XT_CFLAGS"; LIBS="$LIBS $XT_LIBS"],
1478 AC_MSG_ERROR($missing_library))
1479 PKG_CHECK_MODULES([XMU], [xmu],
1480 [INCLUDES="$INCLUDES $XMU_CFLAGS"; LIBS="$LIBS $XMU_LIBS"],
1481 AC_MSG_ERROR($missing_library))
1486 if test "$use_fishbmc" = "no" || test "$use_gl" = "no"; then
1487 AC_MSG_NOTICE($fishbmc_disabled)
1491 AC_MSG_NOTICE($fishbmc_enabled)
1496 if test "$use_projectm" = "no" || test "$use_gl" = "no"; then
1497 AC_MSG_NOTICE($projectm_disabled)
1501 AC_MSG_NOTICE($projectm_enabled)
1507 if [[ -f "addons/skin.touched/addon.xml" ]]; then
1508 use_skin_touched=yes
1510 AC_DEFINE([HAS_SKIN_TOUCHED], [1], [Whether to build skin touched.])
1516 if test "x$use_ssh" = "xno"; then
1517 AC_MSG_NOTICE($ssh_disabled)
1520 AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_ERROR($ssh_not_found))
1521 AC_DEFINE([HAVE_LIBSSH], [1], [Whether to use libSSH library.])
1525 if test "x$have_curl_static" = "xyes"; then
1526 AC_DEFINE([HAS_CURL_STATIC], [1], [Whether OpenSSL inside libcurl is static.])
1530 if test "$use_librtmp" != "no"; then
1531 PKG_CHECK_MODULES([LIBRTMP], [librtmp],
1532 [INCLUDES="$INCLUDES $LIBRTMP_CFLAGS"; LIBS="$LIBS $LIBRTMP_LIBS";
1533 AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])],
1534 [AC_CHECK_HEADERS([librtmp/log.h librtmp/amf.h librtmp/rtmp.h],,
1535 [if test "$use_librtmp" = "yes"; then
1536 AC_MSG_ERROR($librtmp_not_found)
1537 elif test "$use_librtmp" != "no"; then
1538 AC_MSG_NOTICE($librtmp_not_found)
1542 if test "$use_librtmp" != "no"; then
1543 XB_FIND_SONAME([RTMP], [rtmp], [use_librtmp])
1545 if test "$use_librtmp" != "no"; then
1546 AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])
1550 AC_MSG_NOTICE($librtmp_disabled)
1554 if test "x$use_samba" != "xno"; then
1555 PKG_CHECK_MODULES([SAMBA], [smbclient],
1556 [INCLUDES="$INCLUDES $SAMBA_CFLAGS"; LIBS="$LIBS $SAMBA_LIBS"],
1557 [AC_CHECK_LIB([smbclient], [main],,
1558 use_samba=no;AC_MSG_ERROR($missing_library))
1562 AC_MSG_RESULT($samba_disabled)
1566 if test "x$use_samba" != "xno"; then
1567 AC_DEFINE([HAVE_LIBSMBCLIENT], [1], [Define to 1 if you have Samba installed])
1572 if test "$use_libnfs" != "no"; then
1573 AC_CHECK_HEADERS([nfsc/libnfs.h],,
1574 [if test "$use_libnfs" = "yes"; then
1575 AC_MSG_ERROR($libnfs_not_found)
1577 elif test "$use_libnfs" != "no"; then
1578 AC_MSG_NOTICE($libnfs_not_found)
1583 if test "$use_libnfs" != "no"; then
1584 XB_FIND_SONAME([NFS], [nfs], [use_libnfs])
1586 if test "$use_libnfs" != "no"; then
1587 AC_DEFINE([HAVE_LIBNFS], [1], [Whether to use libnfs library.])
1592 AC_MSG_NOTICE($libnfs_disabled)
1597 if test "x$use_libafpclient" != "xno"; then
1598 AC_CHECK_HEADERS([afpfs-ng/libafpclient.h],,
1599 [if test "x$use_libafpclient" = "xyes"; then
1600 AC_MSG_ERROR($libafpclient_not_found)
1601 elif test "x$use_libafpclient" != "xno"; then
1602 AC_MSG_NOTICE($libafpclient_not_found)
1603 use_libafpclient="no"
1606 if test "x$use_libafpclient" != "xno"; then
1607 XB_FIND_SONAME([AFPCLIENT], [afpclient], [use_libafpclient])
1608 AC_DEFINE([HAVE_LIBAFPCLIENT], [1], [Whether to use libafpclient library.])
1612 AC_MSG_NOTICE($libafpclient_disabled)
1615 # libplist for airplay feature
1617 if test "$use_airplay" != "no"; then
1618 AC_CHECK_HEADER([plist/plist.h],,
1619 [if test "$use_airplay" = "yes"; then
1620 AC_MSG_ERROR($libplist_not_found)
1621 elif test "$use_airplay" != "no"; then
1622 AC_MSG_NOTICE($libplist_not_found)
1627 if test "$use_airplay" != "no"; then
1628 XB_FIND_SONAME([PLIST], [plist], [use_airplay])
1630 AC_DEFINE([HAVE_LIBPLIST],[1],["Define to 1 if you have libplist."])
1634 # libshairplay for AirTunes (prefered lib)
1636 if test "x$use_airtunes" != "xno"; then
1637 AC_CHECK_HEADERS([shairplay/raop.h],USE_AIRTUNES=1,
1638 [AC_MSG_NOTICE($libshairplay_not_found)
1641 if test "x$USE_AIRTUNES" != "x0"; then
1642 XB_FIND_SONAME([SHAIRPLAY], [shairplay], [USE_AIRTUNES])
1644 AC_CHECK_MEMBERS([struct raop_callbacks_s.cls],,,
1645 [[#include <shairplay/raop.h>]])
1646 AC_DEFINE([HAVE_LIBSHAIRPLAY],[1],["Define to 1 if you have libshairplay."])
1649 #libshairport - as a fallback for AirTunes
1650 if test "x$USE_AIRTUNES" == "x0"; then
1651 AC_CHECK_HEADERS([shairport/shairport.h],USE_AIRTUNES=1,
1652 [AC_MSG_NOTICE($libshairport_not_found)
1655 if test "x$USE_AIRTUNES" != "x0"; then
1656 XB_FIND_SONAME([SHAIRPORT], [shairport], [USE_AIRTUNES])
1657 AC_CHECK_MEMBERS([struct AudioOutput.ao_set_metadata],,,
1658 [[#include <shairport/shairport.h>]])
1659 AC_DEFINE([HAVE_LIBSHAIRPORT],[1],["Define to 1 if you have libshairport."])
1663 if test "x$USE_AIRTUNES" == "x0"; then
1664 if test "x$use_airtunes" == "xyes"; then
1665 AC_MSG_ERROR("No airtunes library could be found. (libshairport/libshairplay)")
1673 if test "$host_vendor" = "apple" ; then
1675 AC_MSG_NOTICE($libudev_disabled)
1677 if test "$use_libudev" = "auto"; then
1678 PKG_CHECK_MODULES([UDEV],[libudev],,[use_libudev="no";AC_MSG_RESULT($libudev_not_found)])
1679 elif test "$use_libudev" = "yes" ; then
1680 PKG_CHECK_MODULES([UDEV],[libudev],,[use_libudev="no";AC_MSG_ERROR($libudev_not_found)])
1682 AC_MSG_NOTICE($libudev_disabled)
1685 if test "x$use_libudev" != "xno"; then
1686 USE_LIBUDEV=1;INCLUDES="$INCLUDES $UDEV_CFLAGS";LIBS="$LIBS $UDEV_LIBS"
1687 AC_DEFINE([HAVE_LIBUDEV],[1],["Define to 1 if libudev is installed"])
1694 # if libudev is available, we don't need libusb
1695 if test "x$use_libudev" != "xno"; then
1697 AC_MSG_NOTICE($libusb_disabled_udev_found)
1699 if test "$host_vendor" = "apple" ; then
1701 AC_MSG_NOTICE($libusb_disabled)
1703 if echo "$ARCH" | grep -q freebsd ; then
1704 AC_CHECK_LIB([usb],[main],
1705 [use_libusb="yes";USB_LIBS="-lusb"],
1706 [use_libusb="no";AC_MSG_RESULT($libusb_not_found)])
1707 elif test "$use_libusb" = "auto"; then
1708 PKG_CHECK_MODULES([USB],[libusb],,[use_libusb="no";AC_MSG_RESULT($libusb_not_found)])
1709 elif test "$use_libusb" = "yes"; then
1710 PKG_CHECK_MODULES([USB],[libusb],,[use_libusb="no";AC_MSG_ERROR($libusb_not_found)])
1712 AC_MSG_NOTICE($libusb_disabled)
1715 if test "x$use_libusb" != "xno"; then
1716 USE_LIBUSB=1;INCLUDES="$INCLUDES $USB_CFLAGS";LIBS="$LIBS $USB_LIBS"
1717 AC_DEFINE([HAVE_LIBUSB],[1],["Define to 1 if libusb is installed"])
1724 if test "x$use_libcec" != "xno"; then
1725 # libcec is dyloaded, so we need to check for its headers and link any depends.
1726 if test "x$use_libcec" != "xno"; then
1727 if test "x$use_libcec" != "xauto"; then
1728 PKG_CHECK_MODULES([CEC],[libcec >= 2.1.0],,[use_libcec="no";AC_MSG_ERROR($libcec_disabled)])
1730 PKG_CHECK_MODULES([CEC],[libcec >= 2.1.0],,[use_libcec="no";AC_MSG_RESULT($libcec_disabled)])
1733 if test "x$use_libcec" != "xno"; then
1734 INCLUDES="$INCLUDES $CEC_CFLAGS"
1735 USE_LIBCEC=1;AC_DEFINE([HAVE_LIBCEC],[1],["Define to 1 if libcec is installed"])
1736 XB_FIND_SONAME([LIBCEC],[cec],[use_libcec])
1737 AC_MSG_NOTICE($libcec_enabled)
1740 AC_MSG_NOTICE($libcec_disabled)
1745 AC_MSG_NOTICE($libcec_disabled)
1749 if test "$use_libcap" != "no"; then
1750 AC_CHECK_HEADERS([sys/capability.h],,
1751 [if test "$use_libcap" = "yes"; then
1752 AC_MSG_ERROR($libcap_not_found)
1753 elif test "$use_libcap" != "no"; then
1754 AC_MSG_NOTICE($libcap_not_found)
1758 if test "$use_libcap" != "no"; then
1759 AC_CHECK_LIB([cap], main, LIBS="$LIBS -lcap", use_libcap=no)
1761 if test "$use_libcap" != "no"; then
1762 AC_DEFINE([HAVE_LIBCAP], [1], [Whether to use libcap library.])
1765 AC_MSG_NOTICE($libcap_disabled)
1768 ### External libraries checks
1770 # Hacks for supporting libav
1773 if test "$use_libav_hacks" = "yes"; then
1774 export PKG_CONFIG_PATH="${srcdir}/lib/xbmc-libav-hacks/pkgconfig/:$PKG_CONFIG_PATH"
1776 AC_DEFINE([USE_LIBAV_HACKS], [1], [Whether to use libav compatibility hacks.])
1780 if test "$use_external_ffmpeg" = "yes"; then
1781 FFMPEG_LIBNAMES="libavcodec libavfilter libavformat libavutil libpostproc libswscale libswresample"
1783 PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
1784 [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"],
1785 AC_MSG_ERROR($missing_library))
1787 # in case the headers are in a custom directory
1788 SAVE_CPPFLAGS="$CPPFLAGS"
1789 CPPFLAGS="$CPPFLAGS $FFMPEG_CFLAGS"
1791 AC_CHECK_HEADERS([libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h libavutil/avutil.h libpostproc/postprocess.h libswscale/swscale.h],,
1792 [AC_MSG_ERROR($missing_headers)])
1794 AC_MSG_NOTICE($external_ffmpeg_enabled)
1795 USE_EXTERNAL_FFMPEG=1
1796 AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
1798 CPPFLAGS="$SAVE_CPPFLAGS"
1800 AC_MSG_NOTICE($external_ffmpeg_disabled)
1801 USE_EXTERNAL_FFMPEG=0
1804 echo "Checking for SWIG installation"
1805 AC_PATH_PROG(SWIG_EXE, swig, "none")
1806 if test "$SWIG_EXE" = "none"; then
1807 AC_PATH_PROG(SWIG20_EXE, swig2.0, "none")
1808 if test "$SWIG20_EXE" != "none" ; then
1809 SWIG_EXE=$SWIG20_EXE
1812 if test "$SWIG_EXE" = "none"; then
1813 AC_MSG_ERROR($missing_program)
1815 final_message="$final_message\n SWIG Available:\tYes"
1817 echo "Checking for a jre installation"
1818 AC_PATH_PROG(JAVA_EXE, java, "none")
1819 if test "$JAVA_EXE" = "none"; then
1820 AC_MSG_ERROR($missing_program)
1822 final_message="$final_message\n JRE Available:\tYes"
1824 echo "Checking for doxygen installation"
1825 AC_PATH_PROG(DOXYGEN_EXE, doxygen, "none")
1826 if test "$DOXYGEN_EXE" = "none"; then
1827 AC_MSG_WARN([Unable to find doxygen installation. Will not be able to make docstrings for the python api])
1828 final_message="$final_message\n Doxygen Available:\tNo"
1831 final_message="$final_message\n Doxygen Available:\tYes"
1836 if test "x$use_vdpau" != "xno"; then
1837 if test "$host_vendor" = "apple" ; then
1838 if test "x$use_vdpau" = "xyes"; then
1839 AC_MSG_ERROR([VDPAU not supported on this platform])
1842 AC_MSG_NOTICE($vdpau_disabled)
1847 AC_CHECK_HEADER([vdpau/vdpau.h],AC_DEFINE([HAVE_LIBVDPAU], [],
1848 [Define to 1 if you have the 'vdpau' library (-lvdpau).]),
1849 [if test "x$use_vdpau" = "xyes"; then
1851 AC_MSG_ERROR([$vdpau_not_found])
1855 AC_MSG_RESULT($vdpau_not_found)
1860 AC_MSG_NOTICE($vdpau_disabled)
1864 if test "x$use_vaapi" != "xno"; then
1865 if test "$host_vendor" = "apple" ; then
1866 if test "x$use_vaapi" = "xyes"; then
1867 AC_MSG_ERROR([VAAPI not supported on this platform])
1870 AC_MSG_NOTICE($vaapi_disabled)
1874 initial_val=$use_vaapi
1875 AC_CHECK_LIB([va], main, :, use_vaapi=no)
1876 if test "x$use_vaapi" != "xno"; then
1877 AC_CHECK_LIB([va-glx], main, LIBS="-lva -lva-glx $LIBS", use_vaapi=no, -lva)
1880 if test "x$use_vaapi" = "xno"; then
1881 if test "x$initial_val" = "xyes"; then
1882 AC_MSG_ERROR($vaapi_not_found)
1884 AC_MSG_RESULT($vaapi_not_found)
1888 AC_DEFINE([HAVE_LIBVA], [1], [Define to 1 if you have the 'vaapi' libraries (-lva AND -lva-glx)])
1893 AC_MSG_NOTICE($vaapi_disabled)
1898 if test "x$use_crystalhd" != "xno"; then
1899 SAVE_CFLAGS="$CFLAGS"
1900 CFLAGS="-D__LINUX_USER__"
1901 AC_CHECK_HEADER([libcrystalhd/libcrystalhd_if.h], [],
1902 [ if test "x$use_crystalhd" = "xyes"; then
1903 AC_MSG_ERROR($crystalhd_not_found)
1906 AC_MSG_RESULT($crystalhd_not_found)
1910 CFLAGS="$SAVE_CFLAGS"
1911 if test "$host_vendor" != "apple"; then
1912 XB_FIND_SONAME([CRYSTALHD], [crystalhd], [use_crystalhd])
1914 if test "x$use_crystalhd" != "xno"; then
1915 SAVE_CFLAGS="$CFLAGS"
1916 CFLAGS="-D__LINUX_USER__ -lcrystalhd"
1917 # check for new crystalhd lib
1919 [AC_LANG_SOURCE([#include <libcrystalhd/bc_dts_types.h>
1920 #include <libcrystalhd/bc_dts_defs.h>
1921 PBC_INFO_CRYSTAL bCrystalInfo;])],
1922 [ AC_DEFINE([HAVE_LIBCRYSTALHD], [2], [Define to 2 if you have the 'New Broadcom Crystal HD' library.]) ],
1923 [ AC_DEFINE([HAVE_LIBCRYSTALHD], [1], [Define to 1 if you have the 'Old Broadcom Crystal HD' library.]) ])
1924 CFLAGS="$SAVE_CFLAGS"
1928 AC_MSG_NOTICE($crystalhd_disabled)
1933 if test "x$use_vtbdecoder" != "xno"; then
1934 if test "$host_vendor" = "apple" ; then
1935 HAVE_VIDEOTOOLBOXDECODER=1
1936 AC_DEFINE([HAVE_VIDEOTOOLBOXDECODER], [1], [Define to 1 if you have the 'VTBDecoder' library.])
1937 AC_MSG_NOTICE($vtbdecoder_enabled)
1939 if test "x$use_vtbdecoder" = "xyes"; then
1940 AC_MSG_ERROR([VTB Decoder not supported on this platform])
1943 AC_MSG_NOTICE($vtbdecoder_disabled)
1947 AC_MSG_NOTICE($vtbdecoder_disabled)
1951 if test "$host_vendor" = "apple" ; then
1954 AC_MSG_NOTICE($openmax_disabled)
1955 elif test "$target_platform" = "target_raspberry_pi"; then
1958 AC_MSG_NOTICE($openmax_disabled)
1960 if test "$use_gles" = "yes" && test "$use_openmax" = "auto"; then
1961 PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio],
1962 USE_OPENMAX=1;[INCLUDES="$INCLUDES $OPENMAX_CFLAGS"; LIBS="$LIBS $OPENMAX_LIBS"],
1963 use_openmax=no;USE_OPENMAX=0;AC_MSG_RESULT($openmax_not_found))
1964 elif test "$use_gles" = "yes" && test "$use_openmax" = "yes"; then
1965 PKG_CHECK_MODULES([OPENMAX], [libomxil-bellagio],
1966 USE_OPENMAX=1;[INCLUDES="$INCLUDES $OPENMAX_CFLAGS"; LIBS="$LIBS $OPENMAX_LIBS"],
1967 AC_MSG_ERROR($openmax_not_found))
1969 AC_MSG_NOTICE($openmax_disabled)
1975 # yajl version check (yajl_version.h was added in yajl 2.0)
1976 AC_CHECK_HEADERS([yajl/yajl_version.h], [], [
1977 AC_DEFINE(YAJL_MAJOR, 1, [yajl version 1])
1980 # additional internal players
1981 case $add_players in
1983 XB_ADD_PLAYER([OMXPLAYER], [omxplayer])
1987 # additional internal codecs
1988 # remember to convert commas to spaces
1989 for codecs in `echo $add_codecs | sed 's/,/ /g'`; do
1992 AC_CHECK_HEADER([amcodec/codec_error.h],, AC_MSG_ERROR($missing_headers))
1993 XB_ADD_CODEC([LIBAMCODEC], [amcodec], [$codecs])
1996 XB_ADD_CODEC([LIBSTAGEFRIGHT], [libstagefright], [$codecs])
2002 # platform specific bin utilities
2003 if test "$build_vendor" != "apple" ; then
2004 AC_CHECK_PROG(HAVE_GAWK,gawk,"yes","no",)
2005 if test "$HAVE_GAWK" = "no" ; then
2006 AC_MSG_ERROR($missing_program)
2010 if test "$use_arch" != "arm" ; then
2011 AC_CHECK_PROG(HAVE_CMAKE,cmake,"yes","no",)
2012 if test "$HAVE_CMAKE" = "no" ; then
2013 AC_MSG_ERROR($missing_program)
2017 AC_CHECK_PROG(HAVE_GPERF,gperf,"yes","no",)
2018 if test "$HAVE_GPERF" = "no" ; then
2019 AC_MSG_ERROR($missing_program)
2022 AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",)
2023 if test "$HAVE_UNZIP" = "no" ; then
2024 AC_MSG_ERROR($missing_program)
2027 AC_CHECK_PROG(HAVE_ZIP,zip,"yes","no",)
2028 if test "$HAVE_ZIP" = "no" ; then
2029 AC_MSG_ERROR($missing_program)
2032 if test "$ARCH" = "i486-linux" || test "$ARCH" = "x86-freebsd"; then
2033 AC_CHECK_PROG(HAVE_NASM,nasm,"yes","no",)
2034 if test "$HAVE_NASM" = "no" ; then
2035 AC_MSG_ERROR($missing_program)
2039 # Checks for header files.
2043 AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h limits.h locale.h \
2044 malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \
2045 strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h sys/socket.h \
2046 sys/time.h sys/timeb.h sys/vfs.h termios.h unistd.h utime.h wchar.h wctype.h])
2047 AC_CHECK_HEADERS([cdio/iso9660.h],,AC_MSG_ERROR([$missing_headers]))
2049 # Checks for typedefs, structures, and compiler characteristics.
2065 AC_CHECK_MEMBERS([struct stat.st_rdev])
2074 if test "$cross_compiling" = "yes"; then
2075 final_message="$final_message\n Crosscomp.:\tYes"
2076 if [[ -d "$NATIVE_ROOT" ]]; then
2077 CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
2078 CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
2079 LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -L$NATIVE_ROOT/lib"
2080 if test "$host_vendor" != "apple" ; then
2081 LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -Wl,-rpath=$NATIVE_ROOT/lib"
2083 final_message="$final_message\n Native Root:\t$NATIVE_ROOT"
2086 final_message="$final_message\n Crosscomp.:\tNo"
2089 final_message="$final_message\n target ARCH:\t$use_arch"
2090 final_message="$final_message\n target CPU:\t$use_cpu"
2092 if test "$use_gles" = "yes"; then
2093 final_message="$final_message\n OpenGLES:\tYes"
2098 if test "$use_gl" = "yes"; then
2099 final_message="$final_message\n OpenGL:\tYes"
2102 final_message="$final_message\n OpenGL:\tNo (Very Slow)"
2103 SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_2D"
2108 if test "$use_alsa" = "yes"; then
2110 AC_DEFINE([USE_ALSA],[1],["Define to 1 if alsa is installed"])
2111 final_message="$final_message\n ALSA:\t\tYes"
2114 final_message="$final_message\n ALSA:\t\tNo"
2117 if test "$use_dbus" = "yes"; then
2118 final_message="$final_message\n DBUS:\t\tYes"
2120 final_message="$final_message\n DBUS:\t\tNo"
2123 if test "x$use_vdpau" != "xno"; then
2124 final_message="$final_message\n VDPAU:\tYes"
2126 final_message="$final_message\n VDPAU:\tNo"
2129 if test "x$use_vaapi" != "xno"; then
2130 final_message="$final_message\n VAAPI:\tYes"
2132 final_message="$final_message\n VAAPI:\tNo"
2135 if test "x$use_crystalhd" != "xno"; then
2136 final_message="$final_message\n CrystalHD:\tYes"
2138 final_message="$final_message\n CrystalHD:\tNo"
2141 if test "x$use_vtbdecoder" != "xno"; then
2142 final_message="$final_message\n VTBDecoder:\tYes"
2144 final_message="$final_message\n VTBDecoder:\tNo"
2147 if test "$use_openmax" != "no"; then
2148 final_message="$final_message\n OpenMax:\tYes"
2150 final_message="$final_message\n OpenMax:\tNo"
2153 if test "$use_joystick" = "yes"; then
2154 final_message="$final_message\n Joystick:\tYes"
2155 SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_JOYSTICK"
2157 final_message="$final_message\n Joystick:\tNo"
2160 if test "$use_xrandr" = "yes"; then
2161 final_message="$final_message\n XRandR:\tYes"
2164 final_message="$final_message\n XRandR:\tNo"
2168 if test "$use_waveform" = "yes"; then
2169 final_message="$final_message\n Waveform:\tYes"
2171 final_message="$final_message\n Waveform:\tNo"
2174 if test "$use_spectrum" = "yes"; then
2175 final_message="$final_message\n Spectrum:\tYes"
2177 final_message="$final_message\n Spectrum:\tNo"
2180 if test "$use_goom" = "yes"; then
2181 final_message="$final_message\n GOOM:\t\tYes"
2183 final_message="$final_message\n GOOM:\t\tNo"
2186 if test "$use_rsxs" = "yes"; then
2187 final_message="$final_message\n RSXS:\t\tYes"
2189 final_message="$final_message\n RSXS:\t\tNo"
2192 if test "$use_fishbmc" = "yes"; then
2193 final_message="$final_message\n FishBMC:\tYes"
2195 final_message="$final_message\n FishBMC:\tNo"
2198 if test "$use_projectm" = "yes"; then
2199 final_message="$final_message\n ProjectM:\tYes"
2201 final_message="$final_message\n ProjectM:\tNo"
2204 if test "$use_skin_touched" = "yes"; then
2205 final_message="$final_message\n Skin Touched:\tYes"
2207 final_message="$final_message\n Skin Touched:\tNo"
2210 if test "$use_x11" = "yes"; then
2211 final_message="$final_message\n X11:\t\tYes"
2213 final_message="$final_message\n X11:\t\tNo"
2216 if test "$use_wayland" = "yes"; then
2217 final_message="$final_message\n Wayland:\tYes"
2221 final_message="$final_message\n Wayland:\tNo"
2224 if test "$use_libbluray" = "yes"; then
2225 final_message="$final_message\n Bluray:\tYes"
2227 final_message="$final_message\n Bluray:\tNo"
2230 if test "x$use_texturepacker" != "xno"; then
2231 final_message="$final_message\n TexturePacker:Yes"
2234 final_message="$final_message\n TexturePacker:No"
2238 if test "$use_mid" = "yes"; then
2239 final_message="$final_message\n MID Support:\tYes"
2240 SDL_DEFINES="$SDL_DEFINES -DMID"
2242 final_message="$final_message\n MID Support:\tNo"
2247 if test "x$use_ccache" != "xno"; then
2248 AC_PATH_PROG(CCACHE,ccache,none)
2249 if test "$ac_cv_path_CCACHE" = "none"; then
2250 if test "x$use_ccache" = "xyes"; then
2251 AC_MSG_ERROR([ccache not found.]);
2253 AC_MSG_NOTICE([ccache not found. Falling back to default CC])
2254 final_message="$final_message\n ccache:\tNo"
2257 CC="$ac_cv_path_CCACHE $CC"
2258 CXX="$ac_cv_path_CCACHE $CXX"
2259 AC_MSG_NOTICE(enabling ccache)
2260 final_message="$final_message\n ccache:\tYes"
2263 final_message="$final_message\n ccache:\tNo"
2266 if test "$use_alsa" = "yes"; then
2267 final_message="$final_message\n ALSA Support:\tYes"
2269 final_message="$final_message\n ALSA Support:\tNo"
2272 if test "x$use_pulse" != "xno"; then
2273 XBMC_STANDALONE_SH_PULSE=tools/Linux/xbmc-standalone.sh.pulse
2274 final_message="$final_message\n PulseAudio:\tYes"
2276 XBMC_STANDALONE_SH_PULSE=/dev/null
2277 final_message="$final_message\n PulseAudio:\tNo"
2280 if test "$use_hal" = "yes"; then
2281 final_message="$final_message\n HAL Support:\tYes"
2283 final_message="$final_message\n HAL Support:\tNo"
2287 if test "$use_dvdcss" = "yes"; then
2288 AC_MSG_NOTICE($dvdcss_enabled)
2289 final_message="$final_message\n DVDCSS:\tYes"
2291 SKIP_CONFIG_DVDCSS=0
2292 DVDREAD_CFLAGS="-D_XBMC -DHAVE_DVDCSS_DVDCSS_H"
2294 AC_MSG_NOTICE($dvdcss_disabled)
2295 final_message="$final_message\n DVDCSS:\tNo"
2297 SKIP_CONFIG_DVDCSS=1
2298 DVDREAD_CFLAGS="-D_XBMC -UHAVE_DVDCSS_DVDCSS_H"
2300 if test "$host_vendor" = "apple"; then
2301 DVDREAD_CFLAGS="$DVDREAD_CFLAGS -D__DARWIN__"
2304 # Google Test Framework
2305 if test "$configure_gtest" = "yes"; then
2306 AC_MSG_NOTICE($gtest_enabled)
2307 final_message="$final_message\n Google Test Framework Configured:\tYes"
2311 AC_MSG_NOTICE($gtest_disabled)
2312 final_message="$final_message\n Google Test Framework Configured:\tNo"
2317 if test "$use_avahi" = "yes"; then
2318 final_message="$final_message\n Avahi:\tYes"
2320 final_message="$final_message\n Avahi:\tNo"
2323 if test "$use_mdnsembedded" != "no"; then
2324 final_message="$final_message\n mDNSEmbedded:\tYes"
2326 final_message="$final_message\n mDNSEmbedded:\tNo"
2329 if test "$use_nonfree" = "yes"; then
2330 final_message="$final_message\n Non-free:\tYes"
2332 AC_DEFINE([HAVE_XBMC_NONFREE], [1], [Define to 1 to enable non-free components.])
2335 final_message="$final_message\n Non-free:\tNo"
2338 if test "$use_asap" = "yes"; then
2339 AC_CHECK_PROGS(HAVE_GDC,gdc-4.4 gdc-4.3 gdc,"no")
2340 if test "$HAVE_GDC" = "no"; then
2341 AC_MSG_ERROR($missing_program);
2343 AC_CHECK_PROG(HAVE_FPC,fpc,"yes","no")
2344 if test "$HAVE_FPC" = "no"; then
2345 AC_MSG_ERROR($missing_program);
2348 AC_DEFINE([USE_ASAP_CODEC], [1], [Define to 1 to enable ASAP codec.])
2349 final_message="$final_message\n ASAP Codec:\tYes"
2352 final_message="$final_message\n ASAP Codec:\tNo"
2355 if test "$use_mysql" = "yes"; then
2356 final_message="$final_message\n MySQL:\tYes"
2359 final_message="$final_message\n MySQL:\tNo"
2362 if test "$use_webserver" = "yes"; then
2363 final_message="$final_message\n Webserver:\tYes"
2366 final_message="$final_message\n Webserver:\tNo"
2370 if test "$use_libssh" != "no"; then
2371 final_message="$final_message\n libssh support:\tYes"
2373 final_message="$final_message\n libssh support:\tNo"
2376 if test "$use_librtmp" != "no"; then
2377 final_message="$final_message\n libRTMP support:\tYes"
2379 final_message="$final_message\n libRTMP support:\tNo"
2382 if test "x$use_samba" != "xno"; then
2383 final_message="$final_message\n libsmbclient support:\tYes"
2385 final_message="$final_message\n libsmbclient support:\tNo"
2388 if test "$use_libnfs" != "no"; then
2389 final_message="$final_message\n libnfs client support:Yes"
2391 final_message="$final_message\n libnfs client support:No"
2394 if test "x$use_libafpclient" != "xno"; then
2395 final_message="$final_message\n libafpclient support:\tYes"
2397 final_message="$final_message\n libafpclient support:\tNo"
2400 if test "$use_airplay" != "no"; then
2401 final_message="$final_message\n AirPlay support:\tYes"
2403 final_message="$final_message\n AirPLay support:\tNo"
2406 if test "x$use_airtunes" != "xno"; then
2407 if test "x$USE_LIBSHAIRPLAY" == "x1"; then
2408 final_message="$final_message\n AirTunes support (libshairplay):\tYes"
2410 final_message="$final_message\n AirTunes support (libshairport):\tYes"
2413 final_message="$final_message\n AirTunes support:\tNo"
2416 if test "x$use_upnp" != "xno"; then
2417 final_message="$final_message\n UPnP support:\t\tYes"
2419 AC_DEFINE([USE_UPNP], [1], [Define to 1 to enable UPnP support.])
2422 final_message="$final_message\n UPnP support:\t\tNo"
2425 if test "$use_optical_drive" = "yes"; then
2426 final_message="$final_message\n Optical drive:\tYes"
2428 final_message="$final_message\n Optical drive:\tNo"
2431 if test "x$use_libudev" != "xno"; then
2432 final_message="$final_message\n libudev support:\tYes"
2434 final_message="$final_message\n libudev support:\tNo"
2437 if test "x$use_libusb" != "xno"; then
2438 final_message="$final_message\n libusb support:\tYes"
2440 final_message="$final_message\n libusb support:\tNo"
2443 if test "x$use_libcec" != "xno"; then
2444 final_message="$final_message\n libcec support:\tYes"
2446 final_message="$final_message\n libcec support:\tNo"
2449 if test "x$use_libmp3lame" != "xno"; then
2450 final_message="$final_message\n libmp3lame support:\tYes"
2452 final_message="$final_message\n libmp3lame support:\tNo"
2455 if test "x$use_libvorbisenc" != "xno"; then
2456 final_message="$final_message\n libvorbisenc support:\tYes"
2458 final_message="$final_message\n libvorbisenc support:\tNo"
2461 if test "x$use_libcap" != "xno"; then
2462 final_message="$final_message\n libcap support:\tYes"
2464 final_message="$final_message\n libcap support:\tNo"
2467 if test "x$add_players" != "xno"; then
2468 final_message="$final_message\n additional players:\tYes, $add_players"
2470 final_message="$final_message\n additional players:\tNo"
2473 if test "x$add_codecs" != "xno"; then
2474 final_message="$final_message\n additional codecs:\tYes, $add_codecs"
2476 final_message="$final_message\n additional codecs:\tNo"
2479 ### External libraries messages
2481 if test "$use_external_ffmpeg" = "yes"; then
2482 final_message="$final_message\n External FFmpeg:\tYes"
2484 final_message="$final_message\n External FFmpeg:\tNo"
2487 if test "$host_vendor" = "apple" ; then
2488 # built internal but referenced as external, we link directly to them.
2489 # this MUST be the last thing before OUTPUT_FILES as they do not
2490 # exist until after we build FFMpeg.
2491 LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavcodec -lavcodec"
2492 LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavfilter -lavfilter"
2493 LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswresample -lswresample"
2494 LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavformat -lavformat"
2495 LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libavutil -lavutil"
2496 LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libpostproc -lpostproc"
2497 LIBS="$LIBS -L\$(abs_top_srcdir)/lib/ffmpeg/libswscale -lswscale"
2501 DISABLE_PVR_ADDON_CONFIG=1
2502 if [[ -f "pvr-addons/Makefile.am" ]]; then
2503 final_message="$final_message\n PVR add-ons:\t\tYes"
2505 DISABLE_PVR_ADDON_CONFIG=0
2507 final_message="$final_message\n PVR add-ons:\t\tNo"
2510 OUTPUT_FILES="Makefile \
2512 addons/skin.confluence/media/Makefile \
2514 xbmc/cdrip/Makefile \
2515 xbmc/cores/Makefile \
2516 xbmc/cores/VideoRenderers/Makefile \
2517 xbmc/cores/dvdplayer/Makefile \
2519 lib/libdvd/Makefile \
2520 xbmc/cores/DllLoader/Makefile \
2521 xbmc/cores/DllLoader/exports/Makefile \
2522 xbmc/cores/dvdplayer/DVDCodecs/Makefile \
2523 xbmc/cores/dvdplayer/DVDCodecs/Audio/Makefile \
2524 xbmc/cores/dvdplayer/DVDCodecs/Overlay/Makefile \
2525 xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile \
2526 xbmc/cores/dvdplayer/DVDDemuxers/Makefile \
2527 xbmc/cores/dvdplayer/DVDSubtitles/Makefile \
2528 xbmc/cores/AudioEngine/Makefile \
2529 xbmc/cores/paplayer/Makefile \
2530 xbmc/cores/omxplayer/Makefile \
2531 lib/timidity/Makefile \
2533 lib/nosefart/Makefile \
2534 lib/libsidplay2/Makefile \
2535 lib/vgmstream/Makefile \
2536 lib/snesapu/SNES/SNESAPU/Makefile \
2537 lib/stsound/StSoundLibrary/Makefile \
2538 xbmc/cores/playercorefactory/Makefile \
2539 xbmc/music/karaoke/Makefile \
2541 xbmc/guilib/Makefile \
2542 xbmc/input/linux/Makefile \
2543 xbmc/interfaces/Makefile \
2544 xbmc/network/Makefile \
2545 xbmc/network/upnp/Makefile \
2546 lib/libRTV/Makefile \
2547 lib/libexif/Makefile \
2548 lib/libXDAAP/Makefile \
2549 lib/cmyth/Makefile \
2550 lib/libhdhomerun/Makefile \
2551 lib/libsquish/Makefile \
2552 lib/cximage-6.0/Makefile \
2553 lib/libUPnP/Makefile \
2554 xbmc/DllPaths_generated.h \
2555 xbmc/DllPaths_generated_android.h \
2556 xbmc/freebsd/Makefile \
2557 xbmc/linux/Makefile \
2558 xbmc/filesystem/Makefile \
2559 xbmc/screensavers/rsxs-0.9/xbmc/Makefile \
2560 xbmc/visualizations/XBMCProjectM/Makefile \
2561 xbmc/visualizations/Goom/Makefile \
2562 xbmc/visualizations/OpenGLSpectrum/Makefile \
2563 xbmc/visualizations/fishBMC/Makefile \
2564 xbmc/visualizations/WaveForm/Makefile \
2565 xbmc/windowing/Makefile \
2566 xbmc/windowing/egl/Makefile \
2567 lib/addons/library.xbmc.addon/Makefile \
2568 lib/addons/library.xbmc.codec/Makefile \
2569 lib/addons/library.xbmc.gui/Makefile \
2570 lib/addons/library.xbmc.pvr/Makefile \
2571 xbmc/visualizations/EGLHelpers/Makefile \
2572 tools/Linux/xbmc.sh \
2573 tools/Linux/xbmc-standalone.sh \
2574 tools/TexturePacker/Makefile \
2575 tools/EventClients/Clients/OSXRemote/Makefile \
2576 xbmc/peripherals/bus/Makefile \
2577 xbmc/peripherals/devices/Makefile \
2578 xbmc/android/activity/Makefile \
2579 xbmc/android/loader/Makefile \
2580 xbmc/android/jni/Makefile \
2581 xbmc/utils/Makefile \
2582 xbmc/main/Makefile \
2583 project/cmake/xbmc-config.cmake"
2585 if test "$use_wayland" = "yes"; then
2586 OUTPUT_FILES="$OUTPUT_FILES xbmc/windowing/tests/wayland/Makefile"
2589 if test "$use_skin_touched" = "yes"; then
2590 OUTPUT_FILES="$OUTPUT_FILES addons/skin.touched/media/Makefile"
2593 if test "$use_codec_libstagefright" = "yes"; then
2594 OUTPUT_FILES="$OUTPUT_FILES xbmc/cores/dvdplayer/DVDCodecs/Video/libstagefrightICS/Makefile"
2597 OUTPUT_FILES="$OUTPUT_FILES \
2598 xbmc/interfaces/python/Makefile \
2599 xbmc/interfaces/python/test/Makefile"
2601 # Line below is used so we can use AM_INIT_AUTOMAKE. The corresponding
2602 # .dummy.am does nothing.
2603 AC_CONFIG_FILES([.dummy])
2605 AC_CONFIG_FILES([${OUTPUT_FILES}])
2606 OUTPUT_FILES="$OUTPUT_FILES \
2612 AC_SUBST(CXX_FOR_BUILD)
2613 AC_SUBST(CC_FOR_BUILD)
2614 AC_SUBST(CFLAGS_FOR_BUILD)
2615 AC_SUBST(CXXFLAGS_FOR_BUILD)
2616 AC_SUBST(LDFLAGS_FOR_BUILD)
2617 AC_SUBST(SDL_DEFINES)
2618 AC_SUBST(BUILD_DVDCSS)
2619 AC_SUBST(DISABLE_WAVEFORM)
2620 AC_SUBST(DISABLE_SPECTRUM)
2621 AC_SUBST(DISABLE_GOOM)
2622 AC_SUBST(DISABLE_RSXS)
2623 AC_SUBST(DISABLE_FISHBMC)
2624 AC_SUBST(DISABLE_PROJECTM)
2625 AC_SUBST(USE_SKIN_TOUCHED)
2626 AC_SUBST(USE_EXTERNAL_FFMPEG)
2627 AC_SUBST(USE_STATIC_FFMPEG)
2628 AC_SUBST(USE_LIBAV_HACKS)
2629 AC_SUBST(PYTHON_VERSION)
2630 AC_SUBST(OUTPUT_FILES)
2631 AC_SUBST(HAVE_XBMC_NONFREE)
2632 AC_SUBST(USE_ASAP_CODEC)
2633 AC_SUBST(LIBCURL_BASENAME)
2634 AC_SUBST(LIBFLAC_BASENAME)
2635 AC_SUBST(LIBVORBISFILE_BASENAME)
2636 AC_SUBST(LIBMODPLUG_BASENAME)
2637 AC_SUBST(LIBMAD_BASENAME)
2638 AC_SUBST(LIBOGG_BASENAME)
2639 AC_SUBST(LIBVORBISENC_BASENAME)
2640 AC_SUBST(LIBVORBIS_BASENAME)
2641 AC_SUBST(LIBASS_BASENAME)
2642 AC_SUBST(LIBMEPG2_BASENAME)
2643 AC_SUBST_FILE(XBMC_STANDALONE_SH_PULSE)
2644 AC_SUBST(USE_OPENGL)
2645 AC_SUBST(USE_OPENGLES)
2648 AC_SUBST(USE_CRYSTALHD)
2649 AC_SUBST(USE_LIBSMBCLIENT)
2650 AC_SUBST(USE_LIBNFS)
2651 AC_SUBST(USE_LIBAFPCLIENT)
2652 AC_SUBST(USE_AIRPLAY)
2653 AC_SUBST(USE_OPENMAX)
2655 AC_SUBST(HAVE_LIBPULSE)
2656 AC_SUBST(USE_XRANDR)
2658 AC_SUBST(USE_TEXTUREPACKER)
2659 AC_SUBST(USE_AIRTUNES)
2660 AC_SUBST(USE_LIBUDEV)
2661 AC_SUBST(USE_LIBUSB)
2662 AC_SUBST(USE_LIBCEC)
2664 AC_SUBST(USE_WAYLAND)
2665 AC_SUBST(USE_WEB_SERVER)
2667 AC_SUBST(USE_XKBCOMMON)
2668 AC_SUBST(USE_OMXLIB)
2669 AC_SUBST(USE_ANDROID)
2670 AC_SUBST(GTEST_CONFIGURED)
2671 AC_SUBST(USE_DOXYGEN)
2672 AC_SUBST(USE_PVR_ADDONS)
2673 AC_SUBST(GNUTLS_ALL_LIBS)
2674 AC_SUBST(VORBISENC_ALL_LIBS)
2676 # pushd and popd are not available in other shells besides bash, so implement
2677 # our own pushd/popd functions
2682 if [[ -d "$dirname" ]] && [[ -x "$dirname" ]]; then
2684 XB_DIRSTACK="$dirname ${XB_DIRSTACK:-$PWD}"
2687 AC_MSG_ERROR(xb_pushd: unable to change to $dirname)
2692 if [[ -n "$XB_DIRSTACK" ]]; then
2693 XB_DIRSTACK="${XB_DIRSTACK#* }"
2694 cd "${XB_DIRSTACK%% *}"
2697 AC_MSG_ERROR(xb_popd: unable to go back to previous directory)
2701 # Function to run the configure scripts in our submodules
2702 # Consists of three paramaters, the path to the submodule, the configure command
2703 # with appropriate arguments, and a third parameter set to 1 if we are to skip
2704 # running the script, anything else if not.
2705 AC_DEFUN([XB_CONFIG_MODULE],[
2706 AC_CONFIG_COMMANDS_POST([
2707 if [[ $3 != "1" ]]; then
2708 if [[ -d $1 ]]; then
2711 if [[ $? -ne 0 ]]; then
2713 AC_MSG_ERROR([[Submodule $1 failed to configure]])
2718 AC_MSG_ERROR([[Submodule $1 does not exist]])
2721 AC_MSG_NOTICE([[Skipping configuration of submodule $1.]])
2726 XB_CONFIG_MODULE([lib/ffmpeg], [
2727 if test "$host_vendor" = "apple" ; then
2728 ffmpg_config="--target-os=$ffmpeg_target_os"
2729 # handle disables first, we do individual enables later
2730 ffmpg_config="$ffmpg_config --disable-muxers --disable-encoders"
2731 ffmpg_config="$ffmpg_config --disable-devices --disable-doc"
2732 ffmpg_config="$ffmpg_config --disable-ffplay --disable-ffmpeg"
2733 ffmpg_config="$ffmpg_config --disable-ffprobe --disable-ffserver"
2734 ffmpg_config="$ffmpg_config --enable-vda --disable-crystalhd"
2735 ffmpg_config="$ffmpg_config --disable-decoder=mpeg_xvmc"
2737 # handle conditional enables/disables
2738 if test "$use_debug" = "no"; then
2739 ffmpg_config="$ffmpg_config --disable-debug"
2741 if test "$use_cpu" != "no"; then
2742 ffmpg_config="$ffmpg_config --cpu=$use_cpu"
2744 if test "$use_arch" != "no"; then
2745 ffmpg_config="$ffmpg_config --arch=$use_arch --enable-cross-compile"
2747 if test "$use_arch" = "arm"; then
2748 ffmpg_config="$ffmpg_config --enable-pic"
2749 ffmpg_config="$ffmpg_config --disable-armv5te --disable-armv6t2"
2750 if test "$use_neon" = "yes"; then
2751 ffmpg_config="$ffmpg_config --enable-neon"
2753 ffmpg_config="$ffmpg_config --disable-neon"
2756 ffmpg_config="$ffmpg_config --disable-amd3dnow"
2758 if test "$use_ffmpeg_libvorbis" = "yes"; then
2759 ffmpg_config="$ffmpg_config --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis"
2761 ffmpg_config="$ffmpg_config --disable-libvorbis"
2763 if test "$have_gnutls" = "yes"; then
2764 ffmpg_config="$ffmpg_config --enable-gnutls"
2767 # handle individual enables
2768 ffmpg_config="$ffmpg_config --enable-gpl"
2769 ffmpg_config="$ffmpg_config --enable-postproc"
2770 ffmpg_config="$ffmpg_config --enable-static --enable-pthreads"
2771 ffmpg_config="$ffmpg_config --enable-muxer=spdif --enable-muxer=adts --enable-muxer=asf --enable-muxer=ipod"
2772 ffmpg_config="$ffmpg_config --enable-encoder=ac3 --enable-encoder=aac --enable-encoder=wmav2"
2773 ffmpg_config="$ffmpg_config --enable-protocol=http"
2774 ffmpg_config="$ffmpg_config --enable-runtime-cpudetect"
2776 # ffmpeg will not compile with llvm-gcc-4.2, use clang instead
2779 ffmpg_config="$ffmpg_config --cc=clang" ;;
2781 ffmpg_config="$ffmpg_config --cc=$CC" ;;
2784 # extra-cflags must be passed alone or it gets expanded wrong by the ffmpeg configure
2785 FFMPEG_EXTRACFLAGS="$CFLAGS $FFMPEG_EXTRACFLAGS -w -D_DARWIN_C_SOURCE -Dattribute_deprecated="
2787 LDFLAGS="$LDFLAGS" ./configure --extra-cflags="$FFMPEG_EXTRACFLAGS" $ffmpg_config --as="$AS"
2789 # if using llvm-gcc-4.2 as assembler, -MMD is not enough to generate
2790 # dependency files in the right place, replace it with something that works
2793 sed -ie "s#AS_DEPFLAGS=-MMD#AS_DEPFLAGS=-MMD -MF \$(\@:.o=.d) -MT \$\@#" config.mak ;;
2796 # ffmpeg will use yasm found at ${prefix}/bin during configure
2797 # but then hardcodes 'yasm' in config.mak, fix it.
2798 sed -ie "s#YASM=yasm#YASM=${YASM}#" config.mak
2799 sed -ie "s#YASMDEP=yasm#YASMDEP=${YASM}#" config.mak
2800 sed -ie "s# -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 # #" config.mak
2805 LDFLAGS="$(echo "$LDFLAGS" | sed "s/-Wl,-Bsymbolic-functions//g")" \
2807 --extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \
2808 `if test "$use_debug" = "no"; then echo --disable-debug; fi` \
2809 `if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \
2810 `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
2811 `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\
2812 `if test "$use_neon" = "yes"; then echo --enable-neon; else echo --disable-neon; fi`\
2813 --target-os=$ffmpeg_target_os \
2815 --enable-muxer=spdif \
2816 --enable-muxer=adts \
2817 --enable-muxer=asf \
2818 --enable-muxer=ipod \
2819 --disable-encoders \
2820 --enable-encoder=ac3 \
2821 --enable-encoder=aac \
2822 --enable-encoder=wmav2 \
2823 `if test "$use_ffmpeg_libvorbis" = "yes"; then echo --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis; else echo --disable-libvorbis; fi` \
2824 --disable-decoder=mpeg_xvmc \
2828 --disable-ffserver \
2830 --disable-crystalhd \
2831 `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static --disable-shared; else echo --disable-static --enable-shared; fi` \
2835 `if test "x$use_vdpau" != "xno"; then echo --enable-vdpau; else echo --disable-vdpau; fi` \
2836 `if test "x$use_vaapi" != "xno"; then echo --enable-vaapi; else echo --disable-vaapi; fi` \
2837 `if test "$use_optimizations" != "no"; then echo --enable-optimizations; else echo --disable-optimizations; fi` \
2838 --enable-protocol=http \
2839 `if test "$have_gnutls" = "yes"; then echo --enable-gnutls; fi` \
2841 --enable-runtime-cpudetect \
2842 `if test "$use_hardcoded_tables" = "yes"; then echo --enable-hardcoded-tables; else echo --disable-hardcoded-tables; fi`\
2843 `if test "$target_platform" = "target_android"; then echo "--custom-libname-with-major=\\$(SLIBPREF)\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; \
2844 else echo "--custom-libname-with-major=\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; fi` \
2845 `case $host_cpu in i?86*) echo --disable-pic ;; *) echo --enable-pic ;; esac` \
2847 sed -i -e "s#define HAVE_SYMVER 1#define HAVE_SYMVER 0#" config.h &&
2848 sed -i -e "s#define HAVE_SYMVER_GNU_ASM 1#define HAVE_SYMVER_GNU_ASM 0#" config.h
2850 ], [$USE_EXTERNAL_FFMPEG])
2852 XB_CONFIG_MODULE([lib/libdvd/libdvdcss], [
2856 CFLAGS="$CFLAGS $DROID_DVDLIB_SEEK64" \
2857 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2858 --host=$host_alias \
2859 --build=$build_alias \
2860 --target=$target_alias \
2864 ], [$SKIP_CONFIG_DVDCSS])
2866 XB_CONFIG_MODULE([lib/libdvd/libdvdread], [
2868 --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src $DROID_DVDLIB_SEEK64" \
2869 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2870 --host=$host_alias \
2871 --build=$build_alias \
2872 --target=$target_alias \
2878 mkdir -p `pwd`/../includes/dvdread
2879 cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread
2880 cp `pwd`/../libdvdread/src/dvdread/*.h `pwd`/../includes/dvdread
2883 XB_CONFIG_MODULE([lib/libdvd/libdvdnav], [
2885 --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes $DROID_DVDLIB_SEEK64" \
2886 --extra-ldflags="-L`pwd`/../libdvdread/obj" \
2887 --with-dvdread-config="`pwd`/../dvdread-config" \
2888 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2889 --host=$host_alias \
2890 --build=$build_alias \
2891 --target=$target_alias \
2897 XB_CONFIG_MODULE([xbmc/visualizations/XBMCProjectM/libprojectM],[
2899 rm -f CMakeCache.txt && \
2900 CC="$ORIGCC" CXX="$ORIGCXX" LDFLAGS="$LDFLAGS" cmake \
2901 -DCMAKE_BUILD_TYPE=None -DUSE_FTGL:BOOL=OFF \
2902 -DCMAKE_C_FLAGS:STRING="${CPPFLAGS} ${CFLAGS}" \
2903 -DCMAKE_CXX_FLAGS:STRING="${CPPFLAGS} ${CXXFLAGS}" \
2904 -DCMAKE_INSTALL_PREFIX="${prefix}" \
2905 -DCMAKE_INSTALL_LIBDIR:PATH="${libdir}" \
2906 -DINCLUDE_INSTALL_DIR:PATH="${includedir}" \
2907 -DLIB_INSTALL_DIR:PATH="${libdir}" \
2908 -DSYSCONF_INSTALL_DIR:PATH="${sysconfdir}" \
2909 -DSHARE_INSTALL_PREFIX:PATH="${datadir}" . &&
2910 if test "$host_vendor" = "apple" ; then
2911 # cmake has hardcoded paths to macports which bork our darwin depends cross/ppc, remove them
2912 sed -ie "s|-L/opt/local/lib| |" CMakeFiles/projectM.dir/link.txt
2913 sed -ie "s|-L/opt/local/lib| |" CMakeFiles/projectM.dir/flags.make
2914 sed -ie "s|-I/opt/local/include| |" CMakeFiles/projectM.dir/flags.make
2917 ], [$DISABLE_PROJECTM])
2919 XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[
2922 CXXFLAGS="$CXXFLAGS" \
2923 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2924 --host=$host_alias \
2925 --build=$build_alias \
2926 --target=$target_alias \
2932 XB_CONFIG_MODULE([xbmc/screensavers/rsxs-0.9/], [
2933 if test "$host_vendor" = "apple"; then
2934 # clang treats inlines different
2937 TEMPCFLAGS="$CFLAGS";;
2939 TEMPCFLAGS="${CFLAGS} -fgnu89-inline";;
2942 TEMPCFLAGS="$CFLAGS";
2947 CFLAGS="$TEMPCFLAGS" \
2948 CXXFLAGS="$CXXFLAGS" \
2949 `if test "$host_vendor" = "apple"; then echo --with-png=${prefix} --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib; fi` \
2950 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2951 --host=$host_alias \
2952 --build=$build_alias \
2953 --target=$target_alias \
2954 --without-xscreensaver \
2957 --disable-fieldlines \
2961 --disable-hyperspace \
2964 if echo "$ARCH" | grep -q freebsd ; then
2965 sed -i.back "s;\(STDBOOL_H = \)stdbool.h;\1;" lib/Makefile
2969 XB_CONFIG_MODULE([lib/cpluff], [
2970 ./configure --disable-nls \
2971 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2972 --host=$host_alias \
2973 --build=$build_alias \
2974 --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" LDFLAGS="$LDFLAGS" LIBS=""
2975 #LDFLAGS="$LDFLAGS -Wl,-read_only_relocs,suppress"
2978 XB_CONFIG_MODULE([lib/gtest], [
2983 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
2984 --host=$host_alias \
2985 --build=$build_alias \
2986 --target=$target_alias \
2990 ], [$SKIP_CONFIG_GTEST])
2992 XB_CONFIG_MODULE([pvr-addons], [
2994 --prefix="${prefix}" \
2995 --host=$host_alias \
2996 --build=$build_alias \
2997 --target=$target_alias \
3001 CXXFLAGS="$CXXFLAGS"
3002 ], [$DISABLE_PVR_ADDON_CONFIG])
3006 final_message="$final_message\n prefix:\t$prefix\n$dashes"
3007 echo -e "$final_message\n"