2 # Process this file with autoconf to produce a configure script.
5 AC_INIT([xbmc], [10.0], [http://trac.xbmc.org])
6 AC_CONFIG_HEADERS([config.h])
9 AC_CONFIG_AUX_DIR([build-aux])
10 AM_INIT_AUTOMAKE([foreign])
14 echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
17 # check for library basenames
18 AC_DEFUN([XB_FIND_SONAME],
20 if [[ "$host_vendor" != "apple" ]]; then
21 AC_MSG_CHECKING([for lib$2 soname])
22 $1_SONAME=$( $CC -print-file-name=lib$2.so | \
23 while read output; do objdump -p $output | \
25 sed -e 's/ \+SONAME \+//'; done 2> /dev/null )
27 AC_MSG_CHECKING([for lib$2 dylib])
28 gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
29 env_lib_path=[`echo $LDFLAGS | sed 's/-L[ ]*//g'`]
30 if test "$cross_compiling" = yes; then
33 host_lib_path="/usr/lib /usr/local/lib"
35 for path in $gcc_lib_path $env_lib_path $host_lib_path; do
36 lib=[`ls -- $path/lib$2.dylib 2>/dev/null`]
37 if test x$lib != x; then
38 # we want the path/name that is embedded in the dylib
39 $1_SONAME=[`otool -L $lib | grep -v lib$2.dylib | grep lib$2 | awk '{V=1; print $V}'`]
40 $1_SONAME=[`basename $$1_SONAME`]
44 if [[ -z "$$1_SONAME" ]]; then
46 if test -z "$3" || test "x${$3}" = "xyes"; then
47 AC_MSG_ERROR([Unable to determine soname of lib$2 library])
49 AC_MSG_WARN([Unable to determine soname of lib$2 library])
51 AC_MSG_WARN([lib$2 support disabled])
54 AC_MSG_RESULT([$$1_SONAME])
59 # General message strings
60 configure_debug="ERROR: this is a configure debug statement"
61 missing_library="Could not find a required library. Please see the README for your platform."
62 missing_headers="Could not find some required headers. Please see the README for your platform."
63 missing_program="Could not find a required program. Please see the README for your platform."
64 xrandr_not_found="== Could not find libXRandR. SDL will be used for resolution support. =="
65 xrandr_disabled="== XRandR support disabled. SDL will be used for resolution support. =="
66 goom_enabled="== GOOM enabled. =="
67 goom_disabled="== GOOM disabled. =="
68 pulse_not_found="== Could not find libpulse. PulseAudio support disabled. =="
69 pulse_disabled="== PulseAudio support manually disabled. =="
70 faac_not_found="== Could not find libfaac. FAAC support disabled. =="
71 faac_disabled="== FAAC support manually disabled. =="
72 dvdcss_enabled="== DVDCSS support enabled. =="
73 dvdcss_disabled="== DVDCSS support disabled. =="
74 hal_not_found="== Could not find hal. HAL support disabled. =="
75 halstorage_not_found="== Could not find hal-storage. HAL support disabled. =="
76 hal_disabled="== HAL support disabled. =="
77 avahi_not_found="== Could not find libavahi-common or libavahi-client. Avahi support disabled. =="
78 avahi_disabled="== Avahi support disabled. =="
79 vdpau_not_found="== Could not find libvdpau. VDPAU support disabled. =="
80 vdpau_disabled="== VDPAU support manually disabled. =="
81 vaapi_not_found="== Could not find libva. VAAPI support disabled. =="
82 vaapi_disabled="== VAAPI support manually disabled. =="
83 crystalhd_not_found="== Could not find libcrystalhd. CrystalHD support disabled. =="
84 crystalhd_disabled="== CrystalHD support manually disabled. =="
85 vdadecoder_enabled="== VDADecoder support enabled. =="
86 vdadecoder_disabled="== VDADecoder support manually disabled. =="
87 openmax_disabled="== OpenMax support manually disabled. =="
88 openmax_not_found="== Could not find libnvomx. OpenMax support disabled. =="
89 libass_using_internal="== External Libass not found, using internal. =="
90 ssh_not_found="== Could not find libssh. SSH FTP VFS support disabled. =="
91 librtmp_not_found="== Could not find libRTMP. RTMP support disabled. =="
92 librtmp_disabled="== RTMP support disabled. =="
94 # External library message strings
95 external_libraries_enabled="== Use of all supported external libraries enabled. =="
96 external_libraries_disabled="== Use of all supported external libraries disabled. =="
97 external_ffmpeg_enabled="== Use of external ffmpeg enabled. =="
98 external_ffmpeg_disabled="== Use of external ffmpeg disabled. =="
99 external_liba52_enabled="== Use of external liba52 enabled. =="
100 external_liba52_disabled="== Use of external liba52 disabled. =="
101 external_libdts_enabled="== Use of external libdts enabled. =="
102 external_libdts_disabled="== Use of external libdts disabled. =="
103 external_python_enabled="== Use of external python enabled. =="
104 external_python_disabled="== Use of external python disabled. =="
105 ffmpeg_vdpau_not_supported="== External ffmpeg doesn't support VDPAU. VDPAU support disabled. =="
106 dashes="------------------------"
107 final_message="\n XBMC Configuration:"
108 final_message="\n$dashes$final_message\n$dashes"
111 AC_ARG_ENABLE([debug],
112 [AS_HELP_STRING([--enable-debug],
113 [enable debugging information (default is yes)])],
114 [use_debug=$enableval],
118 [AS_HELP_STRING([--with-arch],
119 [build with given arch passing to internal ffmpeg (default is no, needed for crosscompiling)])],
124 [AS_HELP_STRING([--with-cpu],
125 [build with given cpu passing to ffmpeg (default is no)])],
129 AC_ARG_ENABLE([optimizations],
130 [AS_HELP_STRING([--enable-optimizations],
131 [enable optimization (default is yes)])],
132 [use_optimizations=$enableval],
133 [use_optimizations=yes])
136 [AS_HELP_STRING([--enable-gl],
137 [enable OpenGL rendering (default is yes)])],
141 AC_ARG_ENABLE([gles],
142 [AS_HELP_STRING([--enable-gles],
143 [enable OpenGLES rendering (default is no)])],
144 [use_gles=$enableval],
147 AC_ARG_ENABLE([vdpau],
148 [AS_HELP_STRING([--enable-vdpau],
149 [enable VDPAU decoding (default is auto)])],
150 [use_vdpau=$enableval],
153 AC_ARG_ENABLE([vaapi],
154 [AS_HELP_STRING([--enable-vaapi],
155 [enable VAAPI decoding (default is auto)])],
156 [use_vaapi=$enableval],
159 AC_ARG_ENABLE([crystalhd],
160 [AS_HELP_STRING([--enable-crystalhd],
161 [enable CrystalHD decoding (default is auto)])],
162 [use_crystalhd=$enableval],
163 [use_crystalhd=auto])
165 AC_ARG_ENABLE([vdadecoder],
166 [AS_HELP_STRING([--enable-vdadecoder],
167 [enable VDADecoder decoding (default is auto)])],
168 [use_vdadecoder=$enableval],
169 [use_vdadecoder=auto])
171 AC_ARG_ENABLE([openmax],
172 [AS_HELP_STRING([--enable-openmax],
173 [enable OpenMax decoding (default is yes)])],
174 [use_openmax=$enableval],
177 AC_ARG_ENABLE([tegra],
178 [AS_HELP_STRING([--enable-tegra],
179 [enable Tegra2 arm (default is no)])],
180 [use_tegra=$enableval],
183 AC_ARG_ENABLE([profiling],
184 [AS_HELP_STRING([--enable-profiling],
185 [enable gprof profiling (default is no)])],
186 [use_profiling=$enableval],
189 AC_ARG_ENABLE([joystick],
190 [AS_HELP_STRING([--enable-joystick],
191 [enable SDL joystick support (default is yes)])],
192 [use_joystick=$enableval],
195 AC_ARG_ENABLE([xrandr],
196 [AS_HELP_STRING([--enable-xrandr],
197 [enable XRandR support (default is yes)])],
198 [use_xrandr=$enableval],
201 AC_ARG_ENABLE([goom],
202 [AS_HELP_STRING([--enable-goom],
203 [enable GOOM visualisation (default is no)])],
204 [use_goom=$enableval],
207 AC_ARG_ENABLE([ccache],
208 [AS_HELP_STRING([--enable-ccache],
209 [enable building with ccache feature (default is auto)])],
210 [use_ccache=$enableval],
213 AC_ARG_ENABLE([pulse],
214 [AS_HELP_STRING([--enable-pulse],
215 [enable PulseAudio support (default is auto)])],
216 [use_pulse=$enableval],
219 AC_ARG_ENABLE([rtmp],
220 [AS_HELP_STRING([--enable-rtmp],
221 [enable RTMP support via librtmp (default is auto)])],
222 [use_librtmp=$enableval],
225 AC_ARG_ENABLE([ffmpeg_libvorbis],
226 [AS_HELP_STRING([--enable-ffmpeg-libvorbis],
227 [enable FFmpeg vorbis encoding (default is no)])],
228 [use_ffmpeg_libvorbis=$enableval],
229 [use_ffmpeg_libvorbis=no])
231 AC_ARG_ENABLE([faac],
232 [AS_HELP_STRING([--enable-faac],
233 [enable FAAC support (default is yes)])],
234 [use_faac=$enableval],
237 AC_ARG_ENABLE([dvdcss],
238 [AS_HELP_STRING([--enable-dvdcss],
239 [enable DVDCSS support (default is yes)])],
240 [use_dvdcss=$enableval],
244 [AS_HELP_STRING([--enable-mid],
245 [enable MID support (default is no)])],
246 [use_mid=$enableval],
250 [AS_HELP_STRING([--disable-hal],
251 [disable HAL support (default is enabled if hal and hal-storage is found)])],
252 [use_hal=$enableval],
255 AC_ARG_ENABLE([avahi],
256 [AS_HELP_STRING([--disable-avahi],
257 [disable Avahi support (default is enabled if libavahi-common and libavahi-client is found)])],
258 [use_avahi=$enableval],
261 AC_ARG_ENABLE([non-free],
262 [AS_HELP_STRING([--disable-non-free],
263 [disable componentents with non-compliant licenses])],
264 [use_nonfree=$enableval],
267 AC_ARG_ENABLE([asap-codec],
268 [AS_HELP_STRING([--enable-asap-codec],
269 [enable ASAP ADPCM support])],
270 [use_asap=$enableval],
273 AC_ARG_ENABLE([webserver],
274 [AS_HELP_STRING([--disable-webserver],
275 [disable webserver])],
276 [use_webserver=$enableval],
279 AC_ARG_ENABLE([libdts],
280 [AS_HELP_STRING([--enable-libdts],
281 [enable deprecated libdts support])],
282 [use_libdts=$enableval],
285 AC_ARG_ENABLE([liba52],
286 [AS_HELP_STRING([--enable-liba52],
287 [enable deprecated liba52 support])],
288 [use_liba52=$enableval],
291 AC_ARG_ENABLE([libbluray],
292 [AS_HELP_STRING([--enable-libbluray],
293 [enable libbluray support])],
294 [use_libbluray=$enableval],
295 [use_libbluray=auto])
297 AC_ARG_WITH([lirc-device],
298 [AS_HELP_STRING([--with-lirc-device=file],
299 [specify the default LIRC device (default is /dev/lircd)])],
300 [lirc_device=$withval],
301 [lirc_device=/dev/lircd])
302 AC_DEFINE_UNQUOTED([LIRC_DEVICE], ["$lirc_device"], [Default LIRC device])
304 ### External libraries options
305 AC_ARG_ENABLE([external-libraries],
306 [AS_HELP_STRING([--enable-external-libraries],
307 [enable use of all supported external libraries (default is no) 'Linux only'])],
308 [use_external_libraries=$enableval],
309 [use_external_libraries=no])
311 AC_ARG_ENABLE([external-ffmpeg],
312 [AS_HELP_STRING([--enable-external-ffmpeg],
313 [enable use of external ffmpeg libraries (default is no) 'Linux only'])],
314 [use_external_ffmpeg=$enableval],
315 [use_external_ffmpeg=$use_external_libraries])
317 AC_ARG_ENABLE([external-liba52],
318 [AS_HELP_STRING([--enable-external-liba52],
319 [enable use of external liba52 library (default is no) 'Linux only'])],
320 [use_external_liba52=$enableval],
321 [use_external_liba52=$use_external_libraries])
323 AC_ARG_ENABLE([external-libdts],
324 [AS_HELP_STRING([--enable-external-libdts],
325 [enable use of external libdts library (default is no) 'Linux only'])],
326 [use_external_libdts=$enableval],
327 [use_external_libdts=$use_external_libraries])
329 AC_ARG_ENABLE([external-python],
330 [AS_HELP_STRING([--enable-external-python],
331 [enable use of external python library (default is no) 'Linux only'])],
332 [use_external_python=$enableval],
333 [use_external_python=$use_external_libraries])
335 use_external_libass="yes"
336 ### End of external library options
337 DEFAULT_COMPILE_FLAGS="-fPIC -DPIC -D_REENTRANT"
338 if test "x$host_vendor" = "xapple"; then
339 DEFAULT_COMPILE_FLAGS="$DEFAULT_COMPILE_FLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4"
341 DEFAULT_COMPILE_FLAGS="$DEFAULT_COMPILE_FLAGS -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
343 # Checks for programs.
344 PASSED_CXXFLAGS=$CXXFLAGS # Hack to override autoconf default values
346 CXXFLAGS="$PASSED_CXXFLAGS $DEFAULT_COMPILE_FLAGS"
347 PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values
349 CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS"
354 # host detection and setup
364 # define i386 or x86_64, cannot use $HOSTTYPE as it reports x86_64 on 10.6 regardless of kernel flavor
368 powerpc-apple-darwin*)
374 powerpc-*-linux-gnu*)
376 AC_SUBST(ARCH_DEFINES, "-D_POWERPC")
378 powerpc64-*-linux-gnu*)
379 ARCH="powerpc64-linux"
380 AC_SUBST(ARCH_DEFINES, "-D_POWERPC64")
384 AC_SUBST(ARCH_DEFINES, "-D_ARMEL")
387 AC_MSG_ERROR(unsupported host ($host))
390 if test "$use_debug" = "yes"; then
391 final_message="$final_message\n Debugging:\tYes"
392 if test "$use_profiling" = "yes"; then
393 final_message="$final_message\n Profiling:\tYes"
394 DEBUG_FLAGS="-g -pg -D_DEBUG -Wall"
396 final_message="$final_message\n Profiling:\tNo"
397 DEBUG_FLAGS="-g -D_DEBUG -Wall"
400 final_message="$final_message\n Debugging:\tNo"
401 if test "$use_profiling" = "yes"; then
402 final_message="$final_message\n Profiling:\tYes"
403 DEBUG_FLAGS="-pg -DNDEBUG=1"
405 final_message="$final_message\n Profiling:\tNo"
406 DEBUG_FLAGS="-DNDEBUG=1"
410 CFLAGS="$CFLAGS $DEBUG_FLAGS"
411 CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS"
413 if test "$use_optimizations" = "yes"; then
414 final_message="$final_message\n Optimization:\tYes"
415 CXXFLAGS="$CXXFLAGS -O2"
418 final_message="$final_message\n Optimization:\tNo"
422 # platform specific flags
423 if test "$host_vendor" = "apple" ; then
424 AC_SUBST(MACOSX_DEPLOYMENT_TARGET, "10.4")
425 # need these in CFLAGS/CXXFLAGS so AC_CHECK_LIB works
426 CFLAGS="$CFLAGS -I/opt/local/include"
427 CXXFLAGS="$CXXFLAGS -I/opt/local/include"
428 # standard xbmc paths
429 INCLUDES="$INCLUDES -I\$(abs_top_srcdir)/xbmc/osx"
430 LDFLAGS="$LDFLAGS -mmacosx-version-min=10.4"
431 LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
432 LDFLAGS="$LDFLAGS -L/opt/local/lib"
433 LDFLAGS="$LDFLAGS -L/opt/local/lib/mysql5/mysql"
434 LDFLAGS="$LDFLAGS -L/opt/local/lib/samba3"
435 LIBS="$LIBS -framework IOKit"
436 LIBS="$LIBS -framework Cocoa"
437 LIBS="$LIBS -framework OpenGL"
438 LIBS="$LIBS -framework AppKit"
439 LIBS="$LIBS -framework Carbon"
440 LIBS="$LIBS -framework CoreAudio"
441 LIBS="$LIBS -framework QuickTime"
442 LIBS="$LIBS -framework AudioUnit"
443 LIBS="$LIBS -framework Foundation"
444 LIBS="$LIBS -framework CoreServices"
445 LIBS="$LIBS -framework CoreVideo"
446 LIBS="$LIBS -framework CoreAudio"
447 LIBS="$LIBS -framework AudioToolbox"
448 LIBS="$LIBS -framework CoreFoundation"
449 LIBS="$LIBS -framework DiskArbitration"
450 LIBS="$LIBS -framework ApplicationServices"
451 elif expr "X$host_cpu" : 'Xarm.*' > /dev/null; then
453 CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
454 CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check"
455 FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp"
456 if test "$use_tegra" = "yes"; then
457 # Compile for ARMv7a architecture, need to test gcc for vfpv3-d16 support
458 SAVE_CFLAGS="$CFLAGS"
459 CFLAGS="-mfpu=vfpv3-d16"
462 [ CFLAGS="$SAVE_CFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork"
463 CXXFLAGS="$CXXFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork"
464 FFMPEG_EXTRACFLAGS+=" -mtune=cortex-a9 -mfpu=vfpv3-d16"
466 [ CFLAGS="$SAVE_CFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork"
467 CXXFLAGS="$CXXFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork"
470 # Compile for ARMv7a architecture, CortexA8 cpu and NEON coprocessor
471 CFLAGS+=" -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad"
472 CXXFLAGS+=" -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad"
473 FFMPEG_EXTRACFLAGS+=" -mfpu=neon"
477 # Checks for library functions.
480 AC_FUNC_CLOSEDIR_VOID
481 AC_FUNC_ERROR_AT_LINE
483 AC_PROG_GCC_TRADITIONAL
485 AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
489 # Boxee is apparently having compile problems
490 # if HAVE_REALLOC is defined. Sort this later.
492 AC_FUNC_SELECT_ARGTYPES
493 AC_FUNC_SETVBUF_REVERSED
501 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])
503 # Check for various sizes
504 AC_CHECK_SIZEOF([int])
505 AC_CHECK_SIZEOF([size_t])
507 # Add top source directory for all builds so we can use config.h
508 INCLUDES="$INCLUDES -I\$(abs_top_srcdir)"
510 # Checks for boost headers using CXX instead of CC
512 AC_CHECK_HEADER([boost/shared_ptr.hpp],, AC_MSG_ERROR($missing_library))
515 # Checks for platforms libraries.
516 if test "$use_gles" = "yes"; then
517 # GLES overwrites GL if both set to yes.
518 AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library))
519 AC_CHECK_LIB([GLESv2], [main],, AC_MSG_ERROR($missing_library))
521 if test "$use_gl" = "yes"; then
522 if test "$host_vendor" = "apple" ; then
523 # linking to OpenGL.framework instead of libGL, libGLU
524 AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
526 AC_CHECK_LIB([GL], [main],, AC_MSG_ERROR($missing_library))
527 AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library))
528 AC_CHECK_LIB([GLU], [main],, AC_MSG_ERROR($missing_library))
531 AC_MSG_RESULT(== WARNING: OpenGL support is disabled. XBMC will run VERY slow. ==)
532 AC_CHECK_LIB([SDL_gfx],[main])
536 # platform independent libraries
537 AC_CHECK_HEADER([mad.h],, AC_MSG_ERROR($missing_library))
538 AC_CHECK_HEADER([jpeglib.h],, AC_MSG_ERROR($missing_library))
539 AC_CHECK_HEADER([samplerate.h],, AC_MSG_ERROR($missing_library))
540 AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library))
541 AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library))
542 AC_CHECK_HEADER([vorbis/vorbisenc.h],, AC_MSG_ERROR($missing_library))
543 AC_CHECK_LIB([ass], [ass_set_message_cb],,use_external_libass="no")
544 AC_CHECK_LIB([bz2], [main],, AC_MSG_ERROR($missing_library))
545 AC_CHECK_LIB([jpeg], [main],, AC_MSG_ERROR($missing_library)) # check for cximage
546 AC_CHECK_LIB([pthread], [main],, AC_MSG_ERROR($missing_library))
547 AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library))
548 AC_CHECK_LIB([z], [main],, AC_MSG_ERROR($missing_library))
549 AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library))
550 AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library))
551 AC_CHECK_LIB([wavpack], [main],, AC_MSG_ERROR($missing_library))
552 AC_CHECK_LIB([mpeg2], [main],, AC_MSG_ERROR($missing_library))
553 AC_CHECK_LIB([mpeg2convert],[main],, AC_MSG_ERROR($missing_library))
554 AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_RESULT([Could not find suitable version of libssh]))
555 PKG_CHECK_MODULES([MAD], [mad],
556 [INCLUDES="$INCLUDES $MAD_CFLAGS"; LIBS="$LIBS $MAD_LIBS"],
557 AC_MSG_ERROR($missing_library))
558 PKG_CHECK_MODULES([FONTCONFIG], [fontconfig],
559 [INCLUDES="$INCLUDES $FONTCONFIG_CFLAGS"; LIBS="$LIBS $FONTCONFIG_LIBS"],
560 AC_MSG_ERROR($missing_library))
561 PKG_CHECK_MODULES([FRIBIDI], [fribidi],
562 [INCLUDES="$INCLUDES $FRIBIDI_CFLAGS"; LIBS="$LIBS $FRIBIDI_LIBS"],
563 AC_MSG_ERROR($missing_library))
564 PKG_CHECK_MODULES([SQLITE3], [sqlite3],
565 [INCLUDES="$INCLUDES $SQLITE3_CFLAGS"; LIBS="$LIBS $SQLITE3_LIBS"],
566 AC_MSG_ERROR($missing_library))
567 PKG_CHECK_MODULES([PNG], [libpng],
568 [INCLUDES="$INCLUDES $PNG_CFLAGS"; LIBS="$LIBS $PNG_LIBS"],
569 AC_MSG_ERROR($missing_library))
570 PKG_CHECK_MODULES([PCRE], [libpcre],
571 [INCLUDES="$INCLUDES $PCRE_CFLAGS"; LIBS="$LIBS $PCRE_LIBS"]; \
572 AC_DEFINE([HAVE_LIBPCRE],[1],["Define to 1 if libpcre is installed"]),
573 AC_MSG_ERROR($missing_library))
574 PKG_CHECK_MODULES([PCRECPP], [libpcrecpp],
575 [INCLUDES="$INCLUDES $PCRECPP_CFLAGS"; LIBS="$LIBS $PCRECPP_LIBS"]; \
576 AC_DEFINE([HAVE_LIBPCRECPP],[1],["Define to 1 if libpcrecpp is installed"]),
577 AC_MSG_ERROR($missing_library))
578 PKG_CHECK_MODULES([CDIO], [libcdio],
579 [INCLUDES="$INCLUDES $CDIO_CFLAGS"; LIBS="$LIBS $CDIO_LIBS"],
580 AC_MSG_ERROR($missing_library))
581 PKG_CHECK_MODULES([SAMPLERATE], [samplerate],
582 [INCLUDES="$INCLUDES $SAMPLERATE_CFLAGS"; LIBS="$LIBS $SAMPLERATE_LIBS"],
583 AC_MSG_ERROR($missing_library))
584 PKG_CHECK_MODULES([MMS], [libmms],
585 [INCLUDES="$INCLUDES $MMS_CFLAGS"; LIBS="$LIBS $MMS_LIBS"],
586 AC_MSG_ERROR($missing_library))
587 PKG_CHECK_MODULES([FREETYPE2], [freetype2],
588 [INCLUDES="$INCLUDES $FREETYPE2_CFLAGS"; LIBS="$LIBS $FREETYPE2_LIBS"],
589 AC_MSG_ERROR($missing_library))
590 PKG_CHECK_MODULES([OGG], [ogg],
591 [INCLUDES="$INCLUDES $OGG_CFLAGS"; LIBS="$LIBS $OGG_LIBS"],
592 AC_MSG_ERROR($missing_library))
593 PKG_CHECK_MODULES([VORBIS], [vorbis],
594 [INCLUDES="$INCLUDES $VORBIS_CFLAGS"; LIBS="$LIBS $VORBIS_LIBS"],
595 AC_MSG_ERROR($missing_library))
596 PKG_CHECK_MODULES([VORBISENC], [vorbisenc],
597 [INCLUDES="$INCLUDES $VORBISENC_CFLAGS"; LIBS="$LIBS $VORBISENC_LIBS"],
598 AC_MSG_ERROR($missing_library))
600 # check for libbluray
601 AS_CASE([x$use_libbluray],
603 PKG_CHECK_MODULES([LIBBLURAY],[libbluray],[use_libbluray="yes"], AC_MSG_ERROR($missing_library))
606 PKG_CHECK_MODULES([LIBBLURAY],[libbluray],[use_libbluray="yes"], [use_libbluray="no"])
609 AS_CASE([x$use_libbluray],
611 INCLUDES="$INCLUDES $LIBBLURAY_CFLAGS";
612 if test "$host_vendor" != "apple"; then
613 XB_FIND_SONAME([BLURAY], [bluray], [use_libbluray])
615 AC_DEFINE([HAVE_LIBBLURAY], 1, [System has libbluray library])
616 AC_SUBST([HAVE_LIBBLURAY], 1)
618 # AC_DEFINE([HAVE_LIBBLURAY], 0, [System has libbluray library])
619 AC_SUBST([HAVE_LIBBLURAY], 0)
623 # platform dependent libraries
624 if test "$host_vendor" = "apple" ; then
625 AC_CHECK_LIB([iconv], [main],, AC_MSG_ERROR($missing_library))
626 AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library))
627 AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library))
628 PKG_CHECK_MODULES([VORBISFILE], [vorbisfile],
629 [INCLUDES="$INCLUDES $VORBISFILE_CFLAGS"; LIBS="$LIBS $VORBISFILE_LIBS"],
630 AC_MSG_ERROR($missing_library))
632 AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no")
633 if test $MYSQL_CONFIG = "yes"; then
634 INCLUDES="$INCLUDES `mysql_config --include`"
635 LIBS="$LIBS `mysql_config --libs`"
637 AC_MSG_ERROR($missing_program)
639 # don't combine with mysqlclient check in apple section above, Linux needs
640 # paths from mysql_config
641 AC_CHECK_LIB([modplug], [main],, AC_MSG_ERROR($missing_library))
642 AC_CHECK_LIB([mysqlclient],[main],, AC_MSG_ERROR($missing_library))
643 AC_CHECK_LIB([faad], [main],, AC_MSG_ERROR($missing_library))
644 AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library))
645 AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library))
646 AC_CHECK_LIB([SDL_mixer], [main],, AC_MSG_ERROR($missing_library))
647 AC_CHECK_LIB([dl], [main],, AC_MSG_ERROR($missing_library))
648 AC_CHECK_LIB([resolv], [main],, AC_MSG_ERROR($missing_library))
649 AC_CHECK_LIB([jasper], [main],, AC_MSG_ERROR($missing_library)) # check for cximage
650 AC_CHECK_LIB([tiff], [main],, AC_MSG_ERROR($missing_library))
651 AC_CHECK_LIB([rt], [clock_gettime],, AC_MSG_ERROR($missing_library))
652 AC_CHECK_LIB([SDL_image], [main],, AC_MSG_ERROR($missing_library))
654 PKG_CHECK_MODULES([ALSA], [alsa],
655 [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"],
656 AC_MSG_ERROR($missing_library))
657 PKG_CHECK_MODULES([ENCA], [enca],
658 [INCLUDES="$INCLUDES $ENCA_CFLAGS"; LIBS="$LIBS $ENCA_LIBS"],
659 AC_MSG_ERROR($missing_library))
660 PKG_CHECK_MODULES([XT], [xt],
661 [INCLUDES="$INCLUDES $XT_CFLAGS"; LIBS="$LIBS $XT_LIBS"],
662 AC_MSG_ERROR($missing_library))
663 PKG_CHECK_MODULES([XTST], [xtst],
664 [INCLUDES="$INCLUDES $XTST_CFLAGS"; LIBS="$LIBS $XTST_LIBS"],
665 AC_MSG_ERROR($missing_library))
666 PKG_CHECK_MODULES([XEXT], [xext],
667 [INCLUDES="$INCLUDES $XEXT_CFLAGS"; LIBS="$LIBS $XEXT_LIBS"],
668 AC_MSG_ERROR($missing_library))
669 PKG_CHECK_MODULES([XMU], [xmu],
670 [INCLUDES="$INCLUDES $XMU_CFLAGS"; LIBS="$LIBS $XMU_LIBS"],
671 AC_MSG_ERROR($missing_library))
672 PKG_CHECK_MODULES([XINERAMA],[xinerama],
673 [INCLUDES="$INCLUDES $XINERAMA_CFLAGS"; LIBS="$LIBS $XINERAMA_LIBS"],
674 AC_MSG_ERROR($missing_library))
675 PKG_CHECK_MODULES([CURL], [libcurl],
676 [INCLUDES="$INCLUDES $CURL_CFLAGS"; LIBS="$LIBS $CURL_LIBS"],
677 AC_MSG_ERROR($missing_library))
678 PKG_CHECK_MODULES([DBUS], [dbus-1],
679 [INCLUDES="$INCLUDES $DBUS_CFLAGS"; LIBS="$LIBS $DBUS_LIBS"],
680 AC_MSG_ERROR($missing_library))
681 PKG_CHECK_MODULES([SDL], [sdl],
682 [INCLUDES="$INCLUDES $SDL_CFLAGS"; LIBS="$LIBS $SDL_LIBS"],
683 AC_MSG_ERROR($missing_library))
686 # This is used to skip some submodule configuration on non-Apple hardware
688 if [[ "$host_vendor" = "apple" ]]; then
692 if test "$host_vendor" != "apple"; then
693 XB_FIND_SONAME([CURL], [curl])
694 XB_FIND_SONAME([FLAC], [FLAC])
695 XB_FIND_SONAME([MODPLUG], [modplug])
696 XB_FIND_SONAME([FAAD], [faad])
697 XB_FIND_SONAME([MAD], [mad])
699 XB_FIND_SONAME([OGG], [ogg])
700 XB_FIND_SONAME([VORBIS], [vorbis])
701 XB_FIND_SONAME([VORBISENC], [vorbisenc])
702 XB_FIND_SONAME([VORBISFILE], [vorbisfile])
705 if test "$host_vendor" != "apple" ; then
706 if test "$use_webserver" = "yes"; then
707 AC_CHECK_LIB([microhttpd], [main],, AC_MSG_ERROR($missing_library))
710 if test "$use_webserver" = "yes"; then
711 AC_DEFINE([HAVE_LIBMICROHTTPD], [1],)
716 if test "x$use_pulse" != "xno"; then
717 if test "$host_vendor" = "apple" ; then
718 if test "x$use_pulse" = "xyes"; then
719 AC_MSG_ERROR($pulse_disabled)
722 AC_MSG_RESULT($pulse_disabled)
725 AC_CHECK_LIB([pulse], [main],,
726 [if test "x$use_pulse" = "xyes"; then
727 AC_MSG_ERROR($pulse_not_found)
730 AC_MSG_RESULT($pulse_not_found)
734 AC_MSG_RESULT($pulse_disabled)
738 if test "$host_vendor" = "apple" ; then
740 AC_MSG_RESULT($faac_disabled)
742 if test "$use_faac" = "yes"; then
743 AC_CHECK_LIB([faac], [main],,
744 use_faac=no;AC_MSG_RESULT($faac_not_found))
746 AC_MSG_RESULT($faac_disabled)
751 if test "$host_vendor" = "apple" ; then
753 AC_MSG_RESULT($hal_disabled)
755 if test "$use_hal" = "yes"; then
756 PKG_CHECK_MODULES([HAL], [hal],
757 [INCLUDES="$INCLUDES $HAL_CFLAGS"; LIBS="$LIBS $HAL_LIBS"],
758 use_hal=no;AC_MSG_RESULT($hal_not_found))
759 PKG_CHECK_MODULES([HAL_STORAGE], [hal-storage],
760 [INCLUDES="$INCLUDES $HAL_STORAGE_CFLAGS"; LIBS="$LIBS $HAL_STORAGE_LIBS"],
761 use_hal=no;AC_MSG_RESULT($halstorage_not_found))
763 AC_MSG_RESULT($hal_disabled)
765 if test "$use_hal" = "yes"; then
766 AC_DEFINE([HAS_HAL], [1], [Define to 1 if you have HAL installed])
771 if test "$host_vendor" = "apple" ; then
773 AC_MSG_RESULT($avahi_disabled)
775 if test "$use_avahi" = "yes"; then
776 AC_CHECK_LIB([avahi-common], [main],,
777 use_avahi=no;AC_MSG_RESULT($avahi_not_found))
778 if test "$use_avahi" = "yes"; then
779 #either both libs or none
780 AC_CHECK_LIB([avahi-client], [main],,
781 use_avahi=no;AC_MSG_RESULT($avahi_not_found))
784 AC_MSG_RESULT($avahi_disabled)
789 if test "$host_vendor" = "apple" ; then
791 AC_MSG_RESULT($xrandr_disabled)
793 if test "$use_xrandr" = "yes" ; then
794 AC_CHECK_LIB([Xrandr], [main],,
795 use_xrandr="no";AC_MSG_RESULT($xrandr_not_found))
797 AC_MSG_RESULT($xrandr_disabled)
802 if test "$host_vendor" = "apple" ; then
803 AC_MSG_NOTICE($goom_disabled)
806 if test "$use_goom" = "yes"; then
807 AC_MSG_NOTICE($goom_enabled)
810 AC_MSG_NOTICE($goom_disabled)
816 if test "$use_librtmp" != "no"; then
817 AC_CHECK_HEADERS([librtmp/log.h librtmp/amf.h librtmp/rtmp.h],,
818 [if test "$use_librtmp" = "yes"; then
819 AC_MSG_ERROR($librtmp_not_found)
820 elif test "$use_librtmp" != "no"; then
821 AC_MSG_NOTICE($librtmp_not_found)
825 if test "$use_librtmp" != "no" && test "$host_vendor" != "apple"; then
826 XB_FIND_SONAME([RTMP], [rtmp], [use_librtmp])
828 if test "$use_librtmp" != "no"; then
829 AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])
832 AC_MSG_NOTICE($librtmp_disabled)
835 ### External libraries checks
837 if test "$use_external_ffmpeg" = "yes"; then
838 PKG_CHECK_MODULES([FFMPEG], [libavcodec libavformat libavutil libpostproc libswscale],
839 [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"],
840 AC_MSG_ERROR($missing_library))
842 # Determine whether AVPacket and relevant functions are defined in libavformat
844 AC_CHECK_LIB([avcodec], [av_free_packet],
845 [AC_MSG_NOTICE(== AVPacket and relevant functions defined in libavcodec. ==)],
846 [AC_MSG_NOTICE(== AVPacket and relevant functions defined in libavformat. ==)
847 AC_DEFINE([AVPACKET_IN_AVFORMAT], [1], [Whether AVPacket is in libavformat.])])
849 # in case the headers are in a custom directory
850 SAVE_CPPFLAGS="$CPPFLAGS"
851 CPPFLAGS="$CPPFLAGS $FFMPEG_CFLAGS"
853 # Possible places the ffmpeg headers may be
854 AC_CHECK_HEADERS([libavcodec/avcodec.h libavformat/avformat.h libavutil/avutil.h libpostproc/postprocess.h libswscale/swscale.h],,
855 [AC_CHECK_HEADERS([ffmpeg/avcodec.h ffmpeg/avformat.h ffmpeg/avutil.h postproc/postprocess.h ffmpeg/swscale.h],,
856 [AC_MSG_ERROR($missing_headers)])])
858 # We'll support the use of rgb2rgb.h if it exists.
859 AC_CHECK_HEADERS([libswscale/rgb2rgb.h],,)
860 AC_CHECK_HEADERS([ffmpeg/rgb2rgb.h],,)
862 AC_MSG_NOTICE($external_ffmpeg_enabled)
863 USE_EXTERNAL_FFMPEG=1
864 AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
866 # Disable vdpau support if external libavcodec doesn't have it
867 AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],,
868 [if test "x$use_vdpau" = "xyes"; then
869 AC_MSG_ERROR($ffmpeg_vdpau_not_supported)
872 AC_MSG_RESULT($ffmpeg_vdpau_not_supported)
875 # Check for 'PIX_FMT_VDPAU_MPEG4' from libavutil
876 if test "x$use_vdpau" != "xno"; then
879 [ #include <libavutil/pixfmt.h>
880 int main() { PixelFormat format = PIX_FMT_VDPAU_MPEG4; }],
881 [AC_DEFINE([PIX_FMT_VDPAU_MPEG4_IN_AVUTIL], [1],
882 [Whether AVUtil defines PIX_FMT_VDPAU_MPEG4.])],)
885 CPPFLAGS="$SAVE_CPPFLAGS"
887 AC_MSG_NOTICE($external_ffmpeg_disabled)
888 USE_EXTERNAL_FFMPEG=0
889 AC_DEFINE([PIX_FMT_VDPAU_MPEG4_IN_AVUTIL], [1], [Whether AVUtil defines PIX_FMT_VDPAU_MPEG4.])
892 # External liba52 if deprecated a52 support is enabled
893 if test "$use_liba52" = "yes" && "$use_external_liba52" = "yes"; then
894 AC_CHECK_LIB([a52], [main],, AC_MSG_ERROR($missing_library))
896 AC_MSG_NOTICE($external_liba52_enabled)
897 USE_EXTERNAL_LIBA52=1
898 AC_DEFINE([USE_EXTERNAL_LIBA52], [1], [Whether to use external liba52 library.])
899 USE_INTERNAL_LIBA52=0
902 AC_MSG_NOTICE($external_liba52_disabled)
903 USE_EXTERNAL_LIBA52=0
906 # External libdts if deprecated dts support enabled
907 if test "$use_libdts" = "yes" && "$use_external_libdts" = "yes"; then
908 AC_CHECK_LIB([dts], [main],, AC_MSG_ERROR($missing_library))
910 AC_MSG_NOTICE($external_libdts_enabled)
911 USE_EXTERNAL_LIBDTS=1
912 AC_DEFINE([USE_EXTERNAL_LIBDTS], [1], [Whether to use external libdts library.])
913 USE_INTERNAL_LIBDTS=0
916 AC_MSG_NOTICE($external_libdts_disabled)
917 USE_EXTERNAL_LIBDTS=0
921 if test "$use_external_python" = "yes"; then
922 AC_CHECK_LIB([python2.6], [main],
923 [AC_DEFINE([HAVE_LIBPYTHON2_6], [1],
924 [Define to 1 if you have the 'python2.6' library.])
926 [AC_CHECK_LIB([python2.5], [main],
927 [AC_DEFINE([HAVE_LIBPYTHON2_5], [1],
928 [Define to 1 if you have the 'python2.5' library.])
930 [AC_CHECK_LIB([python2.4], [main],
931 [AC_DEFINE([HAVE_LIBPYTHON2_4], [1],
932 [Define to 1 if you have the 'python2.4' library.])
934 [AC_MSG_ERROR($missing_library)] )] )] )
936 AC_MSG_NOTICE($external_python_enabled)
937 test "$USE_PYTHON2_6" && AC_MSG_NOTICE([Using Python 2.6])
938 test "$USE_PYTHON2_5" && AC_MSG_NOTICE([Using Python 2.5])
939 test "$USE_PYTHON2_4" && AC_MSG_NOTICE([Using Python 2.4])
940 USE_EXTERNAL_PYTHON=1
941 AC_DEFINE([USE_EXTERNAL_PYTHON], [1], [Whether to use external python library.])
943 AC_MSG_NOTICE($external_python_disabled)
944 USE_EXTERNAL_PYTHON=0
948 if test "x$use_vdpau" != "xno"; then
949 if test "$host_vendor" = "apple" ; then
950 if test "x$use_vdpau" = "xyes"; then
951 AC_MSG_ERROR([VDPAU not supported on this platform])
954 AC_MSG_NOTICE($vdpau_disabled)
957 AC_CHECK_HEADER([vdpau/vdpau.h],AC_DEFINE([HAVE_LIBVDPAU], [],
958 [Define to 1 if you have the 'vdpau' library (-lvdpau).]),
959 [if test "x$use_vdpau" = "xyes"; then
960 AC_MSG_ERROR([$vdpau_not_found])
963 AC_MSG_RESULT($vdpau_not_found)
967 AC_MSG_NOTICE($vdpau_disabled)
971 if test "x$use_vaapi" != "xno"; then
972 if test "$host_vendor" = "apple" ; then
973 if test "x$use_vaapi" = "xyes"; then
974 AC_MSG_ERROR([VAAPI not supported on this platform])
977 AC_MSG_NOTICE($vaapi_disabled)
980 initial_val=$use_vaapi
981 AC_CHECK_LIB([va], main, :, use_vaapi=no)
982 if test "x$use_vaapi" != "xno"; then
983 AC_CHECK_LIB([va-glx], main, LIBS="-lva -lva-glx $LIBS", use_vaapi=no, -lva)
986 if test "x$use_vaapi" = "xno"; then
987 if test "x$initial_val" = "xyes"; then
988 AC_MSG_ERROR($vaapi_not_found)
990 AC_MSG_RESULT($vaapi_not_found)
993 AC_DEFINE([HAVE_LIBVA], [1], [Define to 1 if you have the 'vaapi' libraries (-lva AND -lva-glx)])
997 AC_MSG_NOTICE($vaapi_disabled)
1001 if test "x$use_crystalhd" != "xno"; then
1002 AC_CHECK_HEADER([libcrystalhd/libcrystalhd_if.h], [],
1003 [ if test "x$use_crystalhd" = "xyes"; then
1004 AC_MSG_ERROR($crystalhd_not_found)
1007 AC_MSG_RESULT($crystalhd_not_found)
1009 [#define __LINUX_USER__])
1010 if test "$host_vendor" != "apple"; then
1011 XB_FIND_SONAME([CRYSTALHD], [crystalhd], [use_crystalhd])
1013 if test "x$use_crystalhd" != "xno"; then
1014 SAVE_CFLAGS="$CFLAGS"
1015 CFLAGS="-llibcrystalhd"
1016 # check for new crystalhd lib
1018 [ #define __LINUX_USER__
1019 #include <libcrystalhd/bc_dts_types.h>
1020 #include <libcrystalhd/bc_dts_defs.h>
1021 PBC_INFO_CRYSTAL bCrystalInfo;],
1022 [ AC_DEFINE([HAVE_LIBCRYSTALHD], [2], [Define to 2 if you have the 'New Broadcom Crystal HD' library.]) ],
1023 [ AC_DEFINE([HAVE_LIBCRYSTALHD], [1], [Define to 1 if you have the 'Old Broadcom Crystal HD' library.]) ])
1024 CFLAGS="$SAVE_CFLAGS"
1027 AC_MSG_NOTICE($crystalhd_disabled)
1031 if test "x$use_vdadecoder" != "xno"; then
1032 if test "$host_vendor" = "apple" ; then
1033 HAVE_LIBVDADECODER=1
1034 AC_DEFINE([HAVE_LIBVDADECODER], [1], [Define to 1 if you have the 'VDADecoder' library.])
1035 AC_MSG_NOTICE($vdadecoder_enabled)
1037 if test "x$use_vdadecoder" = "xyes"; then
1038 AC_MSG_ERROR([VDA Decoder not supported on this platform])
1041 AC_MSG_NOTICE($vdadecoder_disabled)
1045 AC_MSG_NOTICE($vdadecoder_disabled)
1049 if test "$host_vendor" = "apple" ; then
1051 AC_MSG_NOTICE($openmax_disabled)
1053 if test "$use_openmax" = "yes"; then
1054 AC_CHECK_HEADER([OpenMAX/IL/OMX_Types.h],
1055 AC_DEFINE([HAVE_LIBOPENMAX], [1], [Define to 1 if you have the 'OpenMax' library.]),
1056 use_openmax=no;AC_MSG_RESULT($openmax_not_found))
1057 if test "$use_openmax" = "yes"; then
1058 INCLUDES="$INCLUDES -I/usr/include/OpenMAX/IL"
1061 AC_MSG_NOTICE($openmax_disabled)
1065 # platform specific bin utilities
1066 if test "$host_vendor" != "apple" ; then
1067 AC_CHECK_PROG(HAVE_GAWK,gawk,"yes","no",)
1068 if test "$HAVE_GAWK" = "no" ; then
1069 AC_MSG_ERROR($missing_program)
1073 AC_CHECK_PROG(HAVE_CMAKE,cmake,"yes","no",)
1074 if test "$HAVE_CMAKE" = "no" ; then
1075 AC_MSG_ERROR($missing_program)
1078 AC_CHECK_PROG(HAVE_GPERF,gperf,"yes","no",)
1079 if test "$HAVE_GPERF" = "no" ; then
1080 AC_MSG_ERROR($missing_program)
1083 AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",)
1084 if test "$HAVE_UNZIP" = "no" ; then
1085 AC_MSG_ERROR($missing_program)
1088 AC_CHECK_PROG(HAVE_ZIP,zip,"yes","no",)
1089 if test "$HAVE_ZIP" = "no" ; then
1090 AC_MSG_ERROR($missing_program)
1093 if test "$ARCH" != "x86_64-linux"; then
1094 AC_CHECK_PROG(HAVE_NASM,nasm,"yes","no",)
1095 if test "$HAVE_NASM" = "no" ; then
1096 AC_MSG_ERROR($missing_program)
1100 AC_CHECK_PROG(HAVE_SVNVERSION,svnversion,"yes","no",)
1101 AC_CHECK_PROG(HAVE_GIT,git,"yes","no",)
1103 # Checks for header files.
1107 AC_CHECK_HEADERS([lzo/lzo1.h])
1108 AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h limits.h locale.h \
1109 malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \
1110 strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h sys/socket.h \
1111 sys/time.h sys/timeb.h sys/vfs.h termios.h unistd.h utime.h wchar.h wctype.h])
1112 AC_CHECK_HEADERS([cdio/iso9660.h],,AC_MSG_ERROR([$missing_headers]))
1114 # Checks for typedefs, structures, and compiler characteristics.
1130 AC_CHECK_MEMBERS([struct stat.st_rdev])
1139 if test "$cross_compiling" = "yes"; then
1140 final_message="$final_message\n Crosscomp.:\tYes"
1142 final_message="$final_message\n Crosscomp.:\tNo"
1145 final_message="$final_message\n target ARCH:\t$use_arch"
1146 final_message="$final_message\n target CPU:\t$use_cpu"
1148 if test "$use_gles" = "yes"; then
1149 final_message="$final_message\n OpenGLES:\tYes"
1151 if test "$use_gl" = "yes"; then
1152 final_message="$final_message\n OpenGL:\tYes"
1154 final_message="$final_message\n OpenGL:\tNo (Very Slow)"
1155 SDL_DEFINES="-DHAS_SDL_2D"
1159 if test "x$use_vdpau" != "xno"; then
1160 final_message="$final_message\n VDPAU:\tYes"
1162 final_message="$final_message\n VDPAU:\tNo"
1165 if test "x$use_vaapi" != "xno"; then
1166 final_message="$final_message\n VAAPI:\tYes"
1168 final_message="$final_message\n VAAPI:\tNo"
1171 if test "x$use_crystalhd" != "xno"; then
1172 final_message="$final_message\n CrystalHD:\tYes"
1174 final_message="$final_message\n CrystalHD:\tNo"
1177 if test "x$use_vdadecoder" != "xno"; then
1178 final_message="$final_message\n VDADecoder:\tYes"
1180 final_message="$final_message\n VDADecoder:\tNo"
1183 if test "$use_openmax" != "no"; then
1184 final_message="$final_message\n OpenMax:\tYes"
1186 final_message="$final_message\n OpenMax:\tNo"
1189 if test "$use_joystick" = "yes"; then
1190 final_message="$final_message\n Joystick:\tYes"
1191 SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_JOYSTICK"
1193 final_message="$final_message\n Joystick:\tNo"
1196 if test "$use_xrandr" = "yes"; then
1197 final_message="$final_message\n XRandR:\tYes"
1199 final_message="$final_message\n XRandR:\tNo"
1202 if test "$use_goom" = "yes"; then
1203 final_message="$final_message\n GOOM:\t\tYes"
1205 final_message="$final_message\n GOOM:\t\tNo"
1208 if test "$use_libbluray" = "yes"; then
1209 final_message="$final_message\n Bluray:\tYes"
1211 final_message="$final_message\n Bluray:\tNo"
1214 if test "$use_mid" = "yes"; then
1215 final_message="$final_message\n MID Support:\tYes"
1216 SDL_DEFINES="$SDL_DEFINES -DMID"
1218 final_message="$final_message\n MID Support:\tNo"
1221 if test -d "/usr/include/lzo"; then
1222 INCLUDES="$INCLUDES -I/usr/include/lzo"
1224 INCLUDES="$INCLUDES"
1227 if test "x$use_ccache" != "xno"; then
1228 AC_PATH_PROG(CCACHE,ccache,none)
1229 if test "$ac_cv_path_CCACHE" = "none"; then
1230 if test "x$use_ccache" = "xyes"; then
1231 AC_MSG_ERROR([ccache not found.]);
1233 AC_MSG_NOTICE([ccache not found. Falling back to default CC])
1234 final_message="$final_message\n ccache:\tNo"
1237 CC="$ac_cv_path_CCACHE $CC"
1238 CXX="$ac_cv_path_CCACHE $CXX"
1239 AC_MSG_NOTICE(enabling ccache)
1240 final_message="$final_message\n ccache:\tYes"
1243 final_message="$final_message\n ccache:\tNo"
1246 if test "x$use_pulse" != "xno"; then
1247 XBMC_STANDALONE_SH_PULSE=tools/Linux/xbmc-standalone.sh.pulse
1248 final_message="$final_message\n PulseAudio:\tYes"
1250 XBMC_STANDALONE_SH_PULSE=/dev/null
1251 final_message="$final_message\n PulseAudio:\tNo"
1254 if test "$use_hal" = "yes"; then
1255 final_message="$final_message\n HAL Support:\tYes"
1257 final_message="$final_message\n HAL Support:\tNo"
1260 if test "$use_faac" = "yes"; then
1261 final_message="$final_message\n FAAC:\t\tYes"
1263 final_message="$final_message\n FAAC:\t\tNo"
1267 if test "$use_dvdcss" = "yes"; then
1268 AC_MSG_NOTICE($dvdcss_enabled)
1269 final_message="$final_message\n DVDCSS:\tYes"
1271 SKIP_CONFIG_DVDCSS=0
1272 DVDREAD_CFLAGS="-D_XBMC -DHAVE_DVDCSS_DVDCSS_H"
1274 AC_MSG_NOTICE($dvdcss_disabled)
1275 final_message="$final_message\n DVDCSS:\tNo"
1277 SKIP_CONFIG_DVDCSS=1
1278 DVDREAD_CFLAGS="-D_XBMC -UHAVE_DVDCSS_DVDCSS_H"
1280 if test "$use_avahi" = "yes"; then
1281 final_message="$final_message\n Avahi:\tYes"
1283 final_message="$final_message\n Avahi:\tNo"
1286 if ! test -n "$SVN_REV" -a "$SVN_REV" != "" ; then
1287 if test "$HAVE_SVNVERSION" = "yes" ; then
1288 SVN_REV=$(svnversion -n -c 2>/dev/null | grep -iv ^exported | sed -e 's/.*\://')
1290 if test "$SVN_REV" = ""; then
1291 if test "$HAVE_GIT" = "yes"; then
1292 SVN_REV=$(./gitrev.sh)
1295 if test "$SVN_REV" = ""; then
1299 if test "$host_vendor" = "apple"; then
1300 echo "#define SVN_REV \"$SVN_REV\"" > svn_revision.h
1302 SDL_DEFINES="$SDL_DEFINES -D'SVN_REV=\"$SVN_REV\"'"
1305 if test "$use_nonfree" = "yes"; then
1306 final_message="$final_message\n Non-free:\tYes"
1308 AC_DEFINE([HAVE_XBMC_NONFREE], [1], [Define to 1 to enable non-free components.])
1311 final_message="$final_message\n Non-free:\tNo"
1314 if test "$use_asap" = "yes"; then
1315 AC_CHECK_PROG(HAVE_GDC,gdc,"yes","no")
1316 if test "$HAVE_GDC" = "no"; then
1317 AC_MSG_ERROR($missing_program);
1319 AC_CHECK_PROG(HAVE_FPC,fpc,"yes","no")
1320 if test "$HAVE_FPC" = "no"; then
1321 AC_MSG_ERROR($missing_program);
1324 AC_DEFINE([USE_ASAP_CODEC], [1], [Define to 1 to enable ASAP codec.])
1325 final_message="$final_message\n ASAP Codec:\tYes"
1328 final_message="$final_message\n ASAP Codec:\tNo"
1331 if test "$use_webserver" = "yes"; then
1332 final_message="$final_message\n Webserver:\tYes"
1334 final_message="$final_message\n Webserver:\tNo"
1337 if test "$use_librtmp" != "no"; then
1338 final_message="$final_message\n libRTMP support:\tYes"
1340 final_message="$final_message\n libRTMP support:\tNo"
1343 if test "$use_libdts" = "yes"; then
1344 USE_LIBDTS_DECODER=1
1345 AC_DEFINE([USE_LIBDTS_DECODER], [1], [Define to 1 to enable deprecated libdts support])
1346 if ! test "$USE_EXTERNAL_LIBDTS" = "1"; then
1347 USE_INTERNAL_LIBDTS=1
1348 SKIP_CONFIG_LIBDTS=0
1350 final_message="$final_message\n Deprecated libdts:\tYes"
1352 USE_INTERNAL_LIBDTS=0
1353 SKIP_CONFIG_LIBDTS=1
1354 final_message="$final_message\n Deprecated libdts:\tNo"
1357 if test "$use_liba52" = "yes"; then
1358 USE_LIBA52_DECODER=1
1359 AC_DEFINE([USE_LIBA52_DECODER], [1], [Define to 1 to enable deprecated liba52 support])
1360 if ! test "$USE_EXTERNAL_LIBA52" = "1"; then
1361 USE_INTERNAL_LIBA52=1
1362 SKIP_CONFIG_LIBA52=0
1364 final_message="$final_message\n Deprecated liba52:\tYes"
1366 USE_INTERNAL_LIBA52=0
1367 SKIP_CONFIG_LIBA52=1
1368 final_message="$final_message\n Deprecated liba52:\tNo"
1371 ### External libraries messages
1372 if test "$use_external_ffmpeg" = "yes"; then
1373 final_message="$final_message\n External FFmpeg:\tYes"
1375 final_message="$final_message\n External FFmpeg:\tNo"
1377 if test "$use_liba52" = "yes"; then
1378 if test "$use_external_liba52" = "yes"; then
1379 final_message="$final_message\n External liba52:\tYes"
1381 final_message="$final_message\n External liba52:\tNo"
1384 if test "$use_libdts" = "yes"; then
1385 if test "$use_external_libdts" = "yes"; then
1386 final_message="$final_message\n External libdts:\tYes"
1388 final_message="$final_message\n External libdts:\tNo"
1391 if test "$use_external_python" = "yes"; then
1392 final_message="$final_message\n External Python:\tYes"
1394 final_message="$final_message\n External Python:\tNo"
1397 OUTPUT_FILES="Makefile \
1400 xbmc/cdrip/Makefile \
1401 xbmc/cores/Makefile \
1402 xbmc/cores/VideoRenderers/Makefile \
1403 xbmc/cores/dvdplayer/Makefile \
1404 xbmc/cores/dvdplayer/Codecs/Makefile \
1405 xbmc/cores/dvdplayer/Codecs/libdvd/Makefile \
1406 xbmc/cores/dvdplayer/DVDCodecs/Makefile \
1407 xbmc/cores/dvdplayer/DVDCodecs/Audio/Makefile \
1408 xbmc/cores/dvdplayer/DVDCodecs/Overlay/Makefile \
1409 xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile \
1410 xbmc/cores/dvdplayer/DVDDemuxers/Makefile \
1411 xbmc/cores/dvdplayer/DVDSubtitles/Makefile \
1412 xbmc/cores/AudioRenderers/Makefile \
1413 xbmc/cores/paplayer/Makefile \
1414 xbmc/cores/paplayer/timidity/Makefile \
1415 xbmc/cores/paplayer/AC3Codec/Makefile \
1416 xbmc/cores/paplayer/ADPCMCodec/Makefile \
1417 xbmc/cores/paplayer/asap/Makefile \
1418 xbmc/cores/paplayer/NSFCodec/Makefile \
1419 xbmc/cores/paplayer/SIDCodec/Makefile \
1420 xbmc/cores/paplayer/vgmstream/Makefile \
1421 xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU/Makefile \
1422 xbmc/cores/paplayer/YMCodec/StSoundLibrary/Makefile \
1423 xbmc/cores/playercorefactory/Makefile \
1424 xbmc/karaoke/Makefile \
1427 guilib/common/Makefile \
1428 xbmc/lib/libXBMS/Makefile \
1429 xbmc/lib/libRTV/Makefile \
1430 xbmc/lib/libexif/Makefile \
1431 xbmc/lib/libXDAAP/Makefile \
1432 xbmc/lib/libhdhomerun/Makefile \
1433 xbmc/lib/libhttpapi/Makefile \
1434 lib/jsoncpp/jsoncpp/src/lib_json/Makefile \
1435 xbmc/lib/libjsonrpc/Makefile \
1436 xbmc/lib/libsquish/Makefile \
1437 xbmc/lib/libid3tag/Makefile \
1438 xbmc/lib/cximage-6.0/Makefile \
1439 xbmc/lib/libPython/linux/Makefile \
1440 xbmc/lib/libUPnP/Makefile \
1441 xbmc/DllPaths_generated.h \
1442 xbmc/linux/Makefile \
1443 xbmc/FileSystem/Makefile \
1444 xbmc/screensavers/rsxs-0.9/xbmc/Makefile \
1445 xbmc/visualizations/XBMCProjectM/Makefile \
1446 xbmc/visualizations/Goom/Makefile \
1447 xbmc/visualizations/OpenGLSpectrum/Makefile \
1448 xbmc/visualizations/WaveForm/Makefile \
1449 xbmc/visualizations/iTunes/Makefile \
1450 xbmc/FileSystem/Makefile \
1451 tools/Linux/xbmc.sh \
1452 tools/Linux/xbmc-standalone.sh \
1453 tools/TexturePacker/Makefile \
1454 tools/EventClients/Clients/OSXRemote/Makefile"
1456 if test "$host_vendor" = "apple"; then
1457 OUTPUT_FILES="$OUTPUT_FILES \
1458 xbmc/cores/paplayer/FLACCodec/Makefile"
1461 if test "$use_external_libass" = "no"; then
1462 OUTPUT_FILES="$OUTPUT_FILES \
1463 lib/libass/xbmc/Makefile"
1464 USE_EXTERNAL_LIBASS=0
1465 AC_MSG_NOTICE($libass_using_internal)
1467 AC_DEFINE([USE_EXTERNAL_LIBASS], [1], [Whether to use external libass library.])
1468 USE_EXTERNAL_LIBASS=1
1471 # Line below is used so we can use AM_INIT_AUTOMAKE. The corresponding
1472 # .dummy.am does nothing.
1473 AC_CONFIG_FILES([.dummy])
1475 AC_CONFIG_FILES([${OUTPUT_FILES}])
1476 OUTPUT_FILES="$OUTPUT_FILES \
1482 AC_SUBST(SDL_DEFINES)
1483 AC_SUBST(BUILD_DVDCSS)
1484 AC_SUBST(BUILD_GOOM)
1485 AC_SUBST(USE_EXTERNAL_FFMPEG)
1486 AC_SUBST(USE_EXTERNAL_LIBA52)
1487 AC_SUBST(USE_INTERNAL_LIBA52)
1488 AC_SUBST(USE_EXTERNAL_LIBASS)
1489 AC_SUBST(USE_EXTERNAL_LIBDTS)
1490 AC_SUBST(USE_INTERNAL_LIBDTS)
1491 AC_SUBST(USE_EXTERNAL_LIBMPEG2)
1492 AC_SUBST(USE_EXTERNAL_LIBWAVPACK)
1493 AC_SUBST(USE_EXTERNAL_PYTHON)
1494 AC_SUBST(USE_PYTHON2_6)
1495 AC_SUBST(USE_PYTHON2_5)
1496 AC_SUBST(USE_PYTHON2_4)
1497 AC_SUBST(OUTPUT_FILES)
1498 AC_SUBST(HAVE_XBMC_NONFREE)
1499 AC_SUBST(USE_ASAP_CODEC)
1500 AC_SUBST(LIBCURL_BASENAME)
1501 AC_SUBST(LIBFLAC_BASENAME)
1502 AC_SUBST(LIBVORBISFILE_BASENAME)
1503 AC_SUBST(LIBMODPLUG_BASENAME)
1504 AC_SUBST(LIBFAAD_BASENAME)
1505 AC_SUBST(LIBMAD_BASENAME)
1506 AC_SUBST(LIBOGG_BASENAME)
1507 AC_SUBST(LIBVORBISENC_BASENAME)
1508 AC_SUBST(LIBVORBIS_BASENAME)
1509 AC_SUBST_FILE(XBMC_STANDALONE_SH_PULSE)
1511 # pushd and popd are not available in other shells besides bash, so implement
1512 # our own pushd/popd functions
1517 if [[ -d "$dirname" ]] && [[ -x "$dirname" ]]; then
1519 XB_DIRSTACK="$dirname ${XB_DIRSTACK:-$PWD}"
1522 AC_MSG_ERROR(xb_pushd: unable to change to $dirname)
1527 if [[ -n "$XB_DIRSTACK" ]]; then
1528 XB_DIRSTACK="${XB_DIRSTACK#* }"
1529 cd "${XB_DIRSTACK%% *}"
1532 AC_MSG_ERROR(xb_popd: unable to go back to previous directory)
1536 # Function to run the configure scripts in our submodules
1537 # Consists of three paramaters, the path to the submodule, the configure command
1538 # with appropriate arguments, and a third parameter set to 1 if we are to skip
1539 # running the script, anything else if not.
1540 AC_DEFUN([XB_CONFIG_MODULE],[
1541 AC_CONFIG_COMMANDS_POST([
1542 if [[ $3 != "1" ]]; then
1543 if [[ -d $1 ]]; then
1546 if [[ $? -ne 0 ]]; then
1548 AC_MSG_ERROR([[Submodule $1 failed to configure]])
1553 AC_MSG_ERROR([[Submodule $1 does not exist]])
1556 AC_MSG_NOTICE([[Skipping configuration of submodule $1.]])
1561 XB_CONFIG_MODULE([xbmc/lib/libPython/Python], [
1562 if test "$host_vendor" = "apple" ; then
1565 --enable-unicode=ucs4 \
1568 --without-pymalloc \
1569 --with-suffix=.exe \
1570 LDFLAGS="-L/opt/local/lib" \
1571 OPT="-Wno-deprecated-declarations -I/opt/local/include" \
1572 MACOSX_DEPLOYMENT_TARGET=10.4 CFLAGS="$CFLAGS" &&
1573 sed -i bak -e "s/define HAVE_GETC_UNLOCKED 1/undef HAVE_GETC_UNLOCKED/" pyconfig.h &&
1574 sed -i bak -e "s/define HAVE_FSEEKO 1/undef HAVE_FSEEKO/" pyconfig.h &&
1575 sed -i bak -e "s/define HAVE_FTELLO 1/undef HAVE_FTELLO/" pyconfig.h &&
1576 sed -i bak -e "s/define HAVE_FTRUNCATE 1/undef HAVE_FTRUNCATE/" pyconfig.h &&
1577 sed -i bak -e "s/define HAVE_FPATHCONF 1/undef HAVE_FPATHCONF/" pyconfig.h &&
1578 sed -i bak -e "s/define HAVE_FSYNC 1/undef HAVE_FSYNC/" pyconfig.h &&
1579 sed -i bak -e "s/define HAVE_FCHDIR 1/undef HAVE_FCHDIR/" pyconfig.h &&
1580 sed -i bak -e "s/define _POSIX_C_SOURCE 200112L/undef _POSIX_C_SOURCE/" pyconfig.h &&
1581 sed -i bak -e "s/define _XOPEN_SOURCE 600/undef _XOPEN_SOURCE/" pyconfig.h &&
1582 sed -i bak -e "s/define _XOPEN_SOURCE_EXTENDED 1/undef _XOPEN_SOURCE_EXTENDED/" pyconfig.h &&
1583 echo "#define SETPGRP_HAVE_ARG 1" >> pyconfig.h &&
1584 cp pyconfig.h Include
1587 --host=$host_alias \
1588 --build=$build_alias \
1589 --target=$target_alias \
1591 --enable-unicode=ucs4 \
1594 --without-pymalloc \
1595 --prefix=`pwd`/../linux/python-lib CFLAGS="$CFLAGS" \
1598 sed -i -e "s/define HAVE_GETC_UNLOCKED 1/undef HAVE_GETC_UNLOCKED/" pyconfig.h &&
1599 sed -i -e "s/define _POSIX_C_SOURCE 200112L/undef _POSIX_C_SOURCE/" pyconfig.h &&
1600 sed -i -e "s/define _XOPEN_SOURCE 600/undef _XOPEN_SOURCE/" pyconfig.h &&
1601 cp pyconfig.h Include
1603 ], [$USE_EXTERNAL_PYTHON])
1605 XB_CONFIG_MODULE([xbmc/cores/paplayer/FLACCodec/flac-1.2.1], [
1606 if test "$host_vendor" = "apple" ; then
1607 CFLAGS="$CFLAGS -fno-common" \
1608 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 -C \
1610 --disable-asm-optimizations \
1611 --disable-xmms-plugin \
1616 ], [$HOST_NOT_APPLE])
1618 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/ffmpeg], [
1619 if test "$host_vendor" = "apple" ; then
1621 --extra-cflags="$CFLAGS -w -D_DARWIN_C_SOURCE -Dattribute_deprecated=" \
1622 --disable-amd3dnow \
1624 `if test "$use_debug" = "no"; then echo --disable-debug; fi` \
1626 --enable-muxer=spdif \
1627 --enable-muxer=adts \
1628 --disable-encoders \
1629 --enable-encoder=ac3 \
1630 --enable-encoder=aac \
1631 `if test "$use_ffmpeg_libvorbis" == "yes"; then echo --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis; else echo --disable-libvorbis; fi` \
1634 --disable-ffserver \
1637 --disable-decoder=mpeg_xvmc \
1640 --enable-protocol=http \
1642 --enable-runtime-cpudetect \
1644 sed -i "" -e "s#define HAVE_POSIX_MEMALIGN 1#define HAVE_POSIX_MEMALIGN 0#" config.h &&
1645 sed -i "" -e "s#YASM=yasm#YASM=/opt/local/bin/yasm#" config.mak &&
1646 sed -i "" -e "s# -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 # #" config.mak &&
1647 sed -i "" -e "s#libswscale_VERSION_MAJOR=0#libswscale_VERSION_MAJOR=0.7.1#" config.mak &&
1648 sed -i "" -e "s#libavfilter_VERSION_MAJOR=0#libavfilter_VERSION_MAJOR=0.4.0#" config.mak
1653 --extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \
1655 `if test "$use_debug" = "no"; then echo --disable-debug; fi` \
1656 `if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \
1657 `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\
1658 `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\
1659 --target-os=$(tolower $(uname -s)) \
1661 --enable-muxer=spdif \
1662 --enable-muxer=adts \
1663 --disable-encoders \
1664 --enable-encoder=ac3 \
1665 --enable-encoder=aac \
1666 `if test "$use_ffmpeg_libvorbis" == "yes"; then echo --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis; else echo --disable-libvorbis; fi` \
1667 --disable-decoder=mpeg_xvmc \
1670 --disable-ffserver \
1675 `if test "x$use_vdpau" != "xno"; then echo --enable-vdpau; else echo --disable-vdpau; fi` \
1676 `if test "x$use_vaapi" != "xno"; then echo --enable-vaapi; else echo --disable-vaapi; fi` \
1678 --enable-protocol=http \
1680 --enable-runtime-cpudetect \
1681 `case $host_cpu in i?86) echo --disable-pic ;; *) echo --enable-pic ;; esac` \
1683 sed -i -e "s#define HAVE_SYMVER 1#define HAVE_SYMVER 0#" config.h &&
1684 sed -i -e "s#define HAVE_SYMVER_GNU_ASM 1#define HAVE_SYMVER_GNU_ASM 0#" config.h
1686 ], [$USE_EXTERNAL_FFMPEG])
1688 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdts], [
1689 if test "$host_vendor" = "apple" ; then
1690 CFLAGS="$CFLAGS -fno-common"
1691 LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \
1694 --disable-solaris-audio \
1695 --disable-al-audio \
1699 --host=$host_alias \
1700 --build=$build_alias \
1701 --target=$target_alias \
1703 --disable-solaris-audio \
1704 --disable-al-audio \
1708 ], [$SKIP_CONFIG_LIBDTS])
1710 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss], [
1711 if test "$host_vendor" = "apple" ; then
1712 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \
1713 CFLAGS="$CFLAGS -fno-common" \
1722 --host=$host_alias \
1723 --build=$build_alias \
1724 --target=$target_alias \
1729 ], [$SKIP_CONFIG_DVDCSS])
1731 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread], [
1732 if test "$host_vendor" = "apple" ; then
1733 ./configure2 MACOSX_DEPLOYMENT_TARGET=10.4 \
1734 --extra-cflags="$CFLAGS -fno-common $DVDREAD_CFLAGS -D__DARWIN__ -I`pwd`/../libdvdcss/src" \
1738 make dvdread-config &&
1739 mkdir -p `pwd`/../includes/dvdread
1740 cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread
1743 --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src" \
1744 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
1745 --host=$host_alias \
1746 --build=$build_alias \
1747 --target=$target_alias \
1753 make dvdread-config &&
1754 mkdir -p `pwd`/../includes/dvdread
1755 cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread
1760 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav], [
1761 if test "$host_vendor" = "apple" ; then
1762 ./configure2 MACOSX_DEPLOYMENT_TARGET=10.4 \
1763 --extra-cflags="$CFLAGS -fno-common $DVDREAD_CFLAGS -I`pwd`/../includes" \
1764 --extra-ldflags="-L`pwd`/../libdvdread/obj" \
1765 --with-dvdread-config="`pwd`/../libdvdread/obj/dvdread-config" \
1771 --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes" \
1772 --extra-ldflags="-L`pwd`/../libdvdread/obj" \
1773 --with-dvdread-config="`pwd`/../libdvdread/obj/dvdread-config" \
1774 --host=$host_alias \
1775 --build=$build_alias \
1776 --target=$target_alias \
1783 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libfaad2], [
1784 if test "$host_vendor" = "apple" ; then
1785 CFLAGS="$CFLAGS -O3 -fno-common" \
1786 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \
1789 ], [$HOST_NOT_APPLE])
1791 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/liba52], [
1792 if test "$host_vendor" = "apple" ; then
1793 CFLAGS="$CFLAGS -fno-common" \
1794 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \
1799 --disable-solaris-audio \
1804 --host=$host_alias \
1805 --build=$build_alias \
1806 --target=$target_alias \
1811 --disable-solaris-audio \
1813 --disable-al-audio \
1816 ], [$SKIP_CONFIG_LIBA52])
1818 XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libmad], [
1819 if test "$host_vendor" = "apple" ; then
1820 CFLAGS="$CFLAGS -fno-common" \
1821 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \
1824 ], [$HOST_NOT_APPLE])
1826 XB_CONFIG_MODULE([xbmc/lib/cximage-6.0/zlib], [
1827 if test "$host_vendor" = "apple" ; then
1828 export MACOSX_DEPLOYMENT_TARGET=10.4
1829 CFLAGS="$CFLAGS -fno-common" \
1834 XB_CONFIG_MODULE([lib/libass], [
1835 if test "$host_vendor" = "apple" ; then
1836 CFLAGS="$CFLAGS -fno-common" \
1837 ./configure MACOSX_DEPLOYMENT_TARGET=10.4
1841 --host=$host_alias \
1842 --build=$build_alias \
1843 --target=$target_alias
1845 ], [$USE_EXTERNAL_LIBASS])
1847 XB_CONFIG_MODULE([xbmc/lib/libid3tag/libid3tag],[
1848 if test "$host_vendor" = "apple" ; then
1849 CFLAGS="$CFLAGS -fno-common" \
1850 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \
1852 --disable-debugging \
1859 CXXFLAGS="$CXXFLAGS" \
1860 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
1861 --host=$host_alias \
1862 --build=$build_alias \
1863 --target=$target_alias \
1869 XB_CONFIG_MODULE([xbmc/visualizations/XBMCProjectM/libprojectM],[
1870 if test "$host_vendor" = "apple" ; then
1871 rm -f CMakeCache.txt && CC="" CXX="" cmake -D CMAKE_C_FLAGS:STRING="${CFLAGS} -fno-common" -D CMAKE_CXX_FLAGS:STRING="${CXXFLAGS} -fno-common" -D CMAKE_BUILD_TYPE:STRING=RelWithDebInfo -D USE_FTGL:BOOL=OFF .
1874 rm -f CMakeCache.txt && CC="$CC" CXX="$CXX" cmake -DCMAKE_BUILD_TYPE=None -DUSE_FTGL:BOOL=OFF \
1875 -DCMAKE_C_FLAGS:STRING="${CFLAGS}" -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \
1876 -DCMAKE_INSTALL_PREFIX="${prefix}" -DCMAKE_INSTALL_LIBDIR:PATH="${libdir}" \
1877 -DINCLUDE_INSTALL_DIR:PATH="${includedir}" -DLIB_INSTALL_DIR:PATH="${libdir}" \
1878 -DSYSCONF_INSTALL_DIR:PATH="${sysconfdir}" -DSHARE_INSTALL_PREFIX:PATH="${datadir}" .
1883 XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[
1884 if test "$host_vendor" != "apple" ; then
1887 CXXFLAGS="$CXXFLAGS" \
1888 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
1889 --host=$host_alias \
1890 --build=$build_alias \
1891 --target=$target_alias \
1898 XB_CONFIG_MODULE([xbmc/screensavers/rsxs-0.9/], [
1899 if expr "X$host_cpu" : 'Xarm.*' > /dev/null; then :; else
1900 if test "$host_vendor" = "apple" ; then
1903 CXXFLAGS="$CXXFLAGS" \
1904 LDFLAGS="-L/opt/local/lib" \
1906 --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib \
1907 --without-xscreensaver \
1910 --disable-fieldlines \
1914 --disable-hyperspace \
1922 CXXFLAGS="$CXXFLAGS" \
1923 --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \
1924 --host=$host_alias \
1925 --build=$build_alias \
1926 --target=$target_alias \
1927 --without-xscreensaver \
1930 --disable-fieldlines \
1934 --disable-hyperspace \
1941 XB_CONFIG_MODULE([xbmc/lib/libapetag], [
1942 if test "$host_vendor" = "apple" ; then
1943 CFLAGS="$CFLAGS -fno-common" \
1944 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 --disable-shared
1947 --host=$host_alias \
1948 --build=$build_alias \
1949 --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX"
1953 XB_CONFIG_MODULE([lib/libmodplug], [
1954 if test "$host_vendor" = "apple" ; then
1955 CFLAGS="$CFLAGS -fno-common" \
1956 CXXFLAGS="$CXXFLAGS -fno-common" \
1957 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 --with-pic --disable-shared --enable-static
1959 ], [$HOST_NOT_APPLE])
1961 XB_CONFIG_MODULE([lib/libmicrohttpd], [
1962 if test "$host_vendor" = "apple" ; then
1963 CFLAGS="$CFLAGS -fno-common" \
1964 CXXFLAGS="$CXXFLAGS -fno-common" \
1965 ./configure MACOSX_DEPLOYMENT_TARGET=10.4 --with-pic --disable-shared --enable-static --with-libgcrypt-prefix=/dev/null
1967 ], [$HOST_NOT_APPLE])
1969 XB_CONFIG_MODULE([lib/cpluff], [
1970 if test "$host_vendor" = "apple" ; then
1971 ./configure --disable-nls --with-libiconv-prefix=/opt/local --with-libintl-prefix=/opt/local --without-readline CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
1973 ./configure --disable-nls \
1974 --host=$host_alias \
1975 --build=$build_alias \
1976 --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX"
1982 final_message="$final_message\n prefix:\t$prefix\n$dashes"
1983 echo -e "$final_message\n"