# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) AC_INIT([xbmc], [10.0], [http://trac.xbmc.org]) AC_CONFIG_HEADERS([config.h]) AH_TOP([#pragma once]) AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([foreign]) AC_CANONICAL_HOST tolower(){ echo "$@" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz } # check for library basenames AC_DEFUN([XB_FIND_SONAME], [ if [[ "$host_vendor" != "apple" ]]; then AC_MSG_CHECKING([for lib$2 soname]) $1_SONAME=$( $CC -print-file-name=lib$2.so | \ while read output; do objdump -p $output | \ grep "SONAME" | \ sed -e 's/ \+SONAME \+//'; done 2> /dev/null ) else AC_MSG_CHECKING([for lib$2 dylib]) gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`] env_lib_path=[`echo $LDFLAGS | sed 's/-L[ ]*//g'`] if test "$cross_compiling" = yes; then host_lib_path="" else host_lib_path="/usr/lib /usr/local/lib" fi for path in $gcc_lib_path $env_lib_path $host_lib_path; do lib=[`ls -- $path/lib$2.dylib 2>/dev/null`] if test x$lib != x; then # we want the path/name that is embedded in the dylib $1_SONAME=[`otool -L $lib | grep -v lib$2.dylib | grep lib$2 | awk '{V=1; print $V}'`] $1_SONAME=[`basename $$1_SONAME`] fi done fi if [[ -z "$$1_SONAME" ]]; then AC_MSG_RESULT([no]) if test -z "$3" || test "x${$3}" = "xyes"; then AC_MSG_ERROR([Unable to determine soname of lib$2 library]) else AC_MSG_WARN([Unable to determine soname of lib$2 library]) $3=no AC_MSG_WARN([lib$2 support disabled]) fi else AC_MSG_RESULT([$$1_SONAME]) AC_SUBST($1_SONAME) fi ]) # General message strings configure_debug="ERROR: this is a configure debug statement" missing_library="Could not find a required library. Please see the README for your platform." missing_headers="Could not find some required headers. Please see the README for your platform." missing_program="Could not find a required program. Please see the README for your platform." xrandr_not_found="== Could not find libXRandR. SDL will be used for resolution support. ==" xrandr_disabled="== XRandR support disabled. SDL will be used for resolution support. ==" goom_enabled="== GOOM enabled. ==" goom_disabled="== GOOM disabled. ==" pulse_not_found="== Could not find libpulse. PulseAudio support disabled. ==" pulse_disabled="== PulseAudio support manually disabled. ==" faac_not_found="== Could not find libfaac. FAAC support disabled. ==" faac_disabled="== FAAC support manually disabled. ==" dvdcss_enabled="== DVDCSS support enabled. ==" dvdcss_disabled="== DVDCSS support disabled. ==" hal_not_found="== Could not find hal. HAL support disabled. ==" halstorage_not_found="== Could not find hal-storage. HAL support disabled. ==" hal_disabled="== HAL support disabled. ==" avahi_not_found="== Could not find libavahi-common or libavahi-client. Avahi support disabled. ==" avahi_disabled="== Avahi support disabled. ==" vdpau_not_found="== Could not find libvdpau. VDPAU support disabled. ==" vdpau_disabled="== VDPAU support manually disabled. ==" vaapi_not_found="== Could not find libva. VAAPI support disabled. ==" vaapi_disabled="== VAAPI support manually disabled. ==" crystalhd_not_found="== Could not find libcrystalhd. CrystalHD support disabled. ==" crystalhd_disabled="== CrystalHD support manually disabled. ==" vdadecoder_enabled="== VDADecoder support enabled. ==" vdadecoder_disabled="== VDADecoder support manually disabled. ==" openmax_disabled="== OpenMax support manually disabled. ==" openmax_not_found="== Could not find libnvomx. OpenMax support disabled. ==" libass_using_internal="== External Libass not found, using internal. ==" ssh_not_found="== Could not find libssh. SSH FTP VFS support disabled. ==" librtmp_not_found="== Could not find libRTMP. RTMP support disabled. ==" librtmp_disabled="== RTMP support disabled. ==" # External library message strings external_libraries_enabled="== Use of all supported external libraries enabled. ==" external_libraries_disabled="== Use of all supported external libraries disabled. ==" external_ffmpeg_enabled="== Use of external ffmpeg enabled. ==" external_ffmpeg_disabled="== Use of external ffmpeg disabled. ==" external_liba52_enabled="== Use of external liba52 enabled. ==" external_liba52_disabled="== Use of external liba52 disabled. ==" external_libdts_enabled="== Use of external libdts enabled. ==" external_libdts_disabled="== Use of external libdts disabled. ==" external_python_enabled="== Use of external python enabled. ==" external_python_disabled="== Use of external python disabled. ==" ffmpeg_vdpau_not_supported="== External ffmpeg doesn't support VDPAU. VDPAU support disabled. ==" dashes="------------------------" final_message="\n XBMC Configuration:" final_message="\n$dashes$final_message\n$dashes" AC_ARG_ENABLE([debug], [AS_HELP_STRING([--enable-debug], [enable debugging information (default is yes)])], [use_debug=$enableval], [use_debug=yes]) AC_ARG_WITH([arch], [AS_HELP_STRING([--with-arch], [build with given arch passing to internal ffmpeg (default is no, needed for crosscompiling)])], [use_arch=$withval], [use_arch=no]) AC_ARG_WITH([cpu], [AS_HELP_STRING([--with-cpu], [build with given cpu passing to ffmpeg (default is no)])], [use_cpu=$withval], [use_cpu=no]) AC_ARG_ENABLE([optimizations], [AS_HELP_STRING([--enable-optimizations], [enable optimization (default is yes)])], [use_optimizations=$enableval], [use_optimizations=yes]) AC_ARG_ENABLE([gl], [AS_HELP_STRING([--enable-gl], [enable OpenGL rendering (default is yes)])], [use_gl=$enableval], [use_gl=yes]) AC_ARG_ENABLE([gles], [AS_HELP_STRING([--enable-gles], [enable OpenGLES rendering (default is no)])], [use_gles=$enableval], [use_gles=no]) AC_ARG_ENABLE([vdpau], [AS_HELP_STRING([--enable-vdpau], [enable VDPAU decoding (default is auto)])], [use_vdpau=$enableval], [use_vdpau=auto]) AC_ARG_ENABLE([vaapi], [AS_HELP_STRING([--enable-vaapi], [enable VAAPI decoding (default is auto)])], [use_vaapi=$enableval], [use_vaapi=auto]) AC_ARG_ENABLE([crystalhd], [AS_HELP_STRING([--enable-crystalhd], [enable CrystalHD decoding (default is auto)])], [use_crystalhd=$enableval], [use_crystalhd=auto]) AC_ARG_ENABLE([vdadecoder], [AS_HELP_STRING([--enable-vdadecoder], [enable VDADecoder decoding (default is auto)])], [use_vdadecoder=$enableval], [use_vdadecoder=auto]) AC_ARG_ENABLE([openmax], [AS_HELP_STRING([--enable-openmax], [enable OpenMax decoding (default is yes)])], [use_openmax=$enableval], [use_openmax=yes]) AC_ARG_ENABLE([tegra], [AS_HELP_STRING([--enable-tegra], [enable Tegra2 arm (default is no)])], [use_tegra=$enableval], [use_tegra=no]) AC_ARG_ENABLE([profiling], [AS_HELP_STRING([--enable-profiling], [enable gprof profiling (default is no)])], [use_profiling=$enableval], [use_profiling=no]) AC_ARG_ENABLE([joystick], [AS_HELP_STRING([--enable-joystick], [enable SDL joystick support (default is yes)])], [use_joystick=$enableval], [use_joystick=yes]) AC_ARG_ENABLE([xrandr], [AS_HELP_STRING([--enable-xrandr], [enable XRandR support (default is yes)])], [use_xrandr=$enableval], [use_xrandr=yes]) AC_ARG_ENABLE([goom], [AS_HELP_STRING([--enable-goom], [enable GOOM visualisation (default is no)])], [use_goom=$enableval], [use_goom=no]) AC_ARG_ENABLE([ccache], [AS_HELP_STRING([--enable-ccache], [enable building with ccache feature (default is auto)])], [use_ccache=$enableval], [use_ccache=auto]) AC_ARG_ENABLE([pulse], [AS_HELP_STRING([--enable-pulse], [enable PulseAudio support (default is auto)])], [use_pulse=$enableval], [use_pulse=auto]) AC_ARG_ENABLE([rtmp], [AS_HELP_STRING([--enable-rtmp], [enable RTMP support via librtmp (default is auto)])], [use_librtmp=$enableval], [use_librtmp=auto]) AC_ARG_ENABLE([ffmpeg_libvorbis], [AS_HELP_STRING([--enable-ffmpeg-libvorbis], [enable FFmpeg vorbis encoding (default is no)])], [use_ffmpeg_libvorbis=$enableval], [use_ffmpeg_libvorbis=no]) AC_ARG_ENABLE([faac], [AS_HELP_STRING([--enable-faac], [enable FAAC support (default is yes)])], [use_faac=$enableval], [use_faac=yes]) AC_ARG_ENABLE([dvdcss], [AS_HELP_STRING([--enable-dvdcss], [enable DVDCSS support (default is yes)])], [use_dvdcss=$enableval], [use_dvdcss=yes]) AC_ARG_ENABLE([mid], [AS_HELP_STRING([--enable-mid], [enable MID support (default is no)])], [use_mid=$enableval], [use_mid=no]) AC_ARG_ENABLE([hal], [AS_HELP_STRING([--disable-hal], [disable HAL support (default is enabled if hal and hal-storage is found)])], [use_hal=$enableval], [use_hal=yes]) AC_ARG_ENABLE([avahi], [AS_HELP_STRING([--disable-avahi], [disable Avahi support (default is enabled if libavahi-common and libavahi-client is found)])], [use_avahi=$enableval], [use_avahi=yes]) AC_ARG_ENABLE([non-free], [AS_HELP_STRING([--disable-non-free], [disable componentents with non-compliant licenses])], [use_nonfree=$enableval], [use_nonfree=yes]) AC_ARG_ENABLE([asap-codec], [AS_HELP_STRING([--enable-asap-codec], [enable ASAP ADPCM support])], [use_asap=$enableval], [use_asap=no]) AC_ARG_ENABLE([webserver], [AS_HELP_STRING([--disable-webserver], [disable webserver])], [use_webserver=$enableval], [use_webserver=yes]) AC_ARG_ENABLE([libdts], [AS_HELP_STRING([--enable-libdts], [enable deprecated libdts support])], [use_libdts=$enableval], [use_libdts=no]) AC_ARG_ENABLE([liba52], [AS_HELP_STRING([--enable-liba52], [enable deprecated liba52 support])], [use_liba52=$enableval], [use_liba52=no]) AC_ARG_ENABLE([libbluray], [AS_HELP_STRING([--enable-libbluray], [enable libbluray support])], [use_libbluray=$enableval], [use_libbluray=auto]) AC_ARG_WITH([lirc-device], [AS_HELP_STRING([--with-lirc-device=file], [specify the default LIRC device (default is /dev/lircd)])], [lirc_device=$withval], [lirc_device=/dev/lircd]) AC_DEFINE_UNQUOTED([LIRC_DEVICE], ["$lirc_device"], [Default LIRC device]) ### External libraries options AC_ARG_ENABLE([external-libraries], [AS_HELP_STRING([--enable-external-libraries], [enable use of all supported external libraries (default is no) 'Linux only'])], [use_external_libraries=$enableval], [use_external_libraries=no]) AC_ARG_ENABLE([external-ffmpeg], [AS_HELP_STRING([--enable-external-ffmpeg], [enable use of external ffmpeg libraries (default is no) 'Linux only'])], [use_external_ffmpeg=$enableval], [use_external_ffmpeg=$use_external_libraries]) AC_ARG_ENABLE([external-liba52], [AS_HELP_STRING([--enable-external-liba52], [enable use of external liba52 library (default is no) 'Linux only'])], [use_external_liba52=$enableval], [use_external_liba52=$use_external_libraries]) AC_ARG_ENABLE([external-libdts], [AS_HELP_STRING([--enable-external-libdts], [enable use of external libdts library (default is no) 'Linux only'])], [use_external_libdts=$enableval], [use_external_libdts=$use_external_libraries]) AC_ARG_ENABLE([external-python], [AS_HELP_STRING([--enable-external-python], [enable use of external python library (default is no) 'Linux only'])], [use_external_python=$enableval], [use_external_python=$use_external_libraries]) use_external_libass="yes" ### End of external library options DEFAULT_COMPILE_FLAGS="-fPIC -DPIC -D_REENTRANT" if test "x$host_vendor" = "xapple"; then DEFAULT_COMPILE_FLAGS="$DEFAULT_COMPILE_FLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" else DEFAULT_COMPILE_FLAGS="$DEFAULT_COMPILE_FLAGS -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" fi # Checks for programs. PASSED_CXXFLAGS=$CXXFLAGS # Hack to override autoconf default values AC_PROG_CXX CXXFLAGS="$PASSED_CXXFLAGS $DEFAULT_COMPILE_FLAGS" PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values AC_PROG_CC CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS" AC_PROG_AWK AC_PROG_LN_S AC_PROG_MAKE_SET # host detection and setup case $host in i*86*-linux-gnu*) ARCH="i486-linux" ;; x86_64-*-linux-gnu*) ARCH="x86_64-linux" ;; i386-apple-darwin*) ARCH="x86-osx" # define i386 or x86_64, cannot use $HOSTTYPE as it reports x86_64 on 10.6 regardless of kernel flavor ARCHTYPE=`uname -m` AC_SUBST([ARCHTYPE]) ;; powerpc-apple-darwin*) ARCH="powerpc-osx" # define ppc ARCHTYPE=`arch` AC_SUBST([ARCHTYPE]) ;; powerpc-*-linux-gnu*) ARCH="powerpc-linux" AC_SUBST(ARCH_DEFINES, "-D_POWERPC") ;; powerpc64-*-linux-gnu*) ARCH="powerpc64-linux" AC_SUBST(ARCH_DEFINES, "-D_POWERPC64") ;; arm*-*-linux-gnu*) ARCH="arm" AC_SUBST(ARCH_DEFINES, "-D_ARMEL") ;; *) AC_MSG_ERROR(unsupported host ($host)) esac AC_SUBST([ARCH]) if test "$use_debug" = "yes"; then final_message="$final_message\n Debugging:\tYes" if test "$use_profiling" = "yes"; then final_message="$final_message\n Profiling:\tYes" DEBUG_FLAGS="-g -pg -D_DEBUG -Wall" else final_message="$final_message\n Profiling:\tNo" DEBUG_FLAGS="-g -D_DEBUG -Wall" fi else final_message="$final_message\n Debugging:\tNo" if test "$use_profiling" = "yes"; then final_message="$final_message\n Profiling:\tYes" DEBUG_FLAGS="-pg -DNDEBUG=1" else final_message="$final_message\n Profiling:\tNo" DEBUG_FLAGS="-DNDEBUG=1" fi fi CFLAGS="$CFLAGS $DEBUG_FLAGS" CXXFLAGS="$CXXFLAGS $DEBUG_FLAGS" if test "$use_optimizations" = "yes"; then final_message="$final_message\n Optimization:\tYes" CXXFLAGS="$CXXFLAGS -O2" CFLAGS="$CFLAGS -O2" else final_message="$final_message\n Optimization:\tNo" fi # platform specific flags if test "$host_vendor" = "apple" ; then AC_SUBST(MACOSX_DEPLOYMENT_TARGET, "10.4") # need these in CFLAGS/CXXFLAGS so AC_CHECK_LIB works CFLAGS="$CFLAGS -I/opt/local/include" CXXFLAGS="$CXXFLAGS -I/opt/local/include" # standard xbmc paths INCLUDES="$INCLUDES -I\$(abs_top_srcdir)/xbmc/osx" LDFLAGS="$LDFLAGS -mmacosx-version-min=10.4" LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk" LDFLAGS="$LDFLAGS -L/opt/local/lib" LDFLAGS="$LDFLAGS -L/opt/local/lib/mysql5/mysql" LDFLAGS="$LDFLAGS -L/opt/local/lib/samba3" LIBS="$LIBS -framework IOKit" LIBS="$LIBS -framework Cocoa" LIBS="$LIBS -framework OpenGL" LIBS="$LIBS -framework AppKit" LIBS="$LIBS -framework Carbon" LIBS="$LIBS -framework CoreAudio" LIBS="$LIBS -framework QuickTime" LIBS="$LIBS -framework AudioUnit" LIBS="$LIBS -framework Foundation" LIBS="$LIBS -framework CoreServices" LIBS="$LIBS -framework CoreVideo" LIBS="$LIBS -framework CoreAudio" LIBS="$LIBS -framework AudioToolbox" LIBS="$LIBS -framework CoreFoundation" LIBS="$LIBS -framework DiskArbitration" LIBS="$LIBS -framework ApplicationServices" elif expr "X$host_cpu" : 'Xarm.*' > /dev/null; then use_arch=arm CFLAGS="$CFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" CXXFLAGS="$CXXFLAGS -mfloat-abi=softfp -mno-apcs-stack-check" FFMPEG_EXTRACFLAGS="-mfloat-abi=softfp" if test "$use_tegra" = "yes"; then # Compile for ARMv7a architecture, need to test gcc for vfpv3-d16 support SAVE_CFLAGS="$CFLAGS" CFLAGS="-mfpu=vfpv3-d16" AC_COMPILE_IFELSE( [int foo;], [ CFLAGS="$SAVE_CFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork" CXXFLAGS="$CXXFLAGS -Wno-psabi -Wa,-march=armv7a -mtune=cortex-a9 -mfpu=vfpv3-d16 -mthumb-interwork" FFMPEG_EXTRACFLAGS+=" -mtune=cortex-a9 -mfpu=vfpv3-d16" use_cpu=cortex-a9], [ CFLAGS="$SAVE_CFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork" CXXFLAGS="$CXXFLAGS -Wa,-march=armv6 -mtune=cortex-a8 -mthumb-interwork" use_cpu=cortex-a8]) else # Compile for ARMv7a architecture, CortexA8 cpu and NEON coprocessor CFLAGS+=" -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad" CXXFLAGS+=" -Wa,-march=armv7a -mcpu=cortex-a8 -mfpu=neon -mvectorize-with-neon-quad" FFMPEG_EXTRACFLAGS+=" -mfpu=neon" fi fi # Checks for library functions. AC_FUNC_ALLOCA AC_FUNC_CHOWN AC_FUNC_CLOSEDIR_VOID AC_FUNC_ERROR_AT_LINE AC_FUNC_FSEEKO AC_PROG_GCC_TRADITIONAL AC_FUNC_LSTAT AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK AC_FUNC_MEMCMP AC_FUNC_MKTIME AC_FUNC_MMAP # Boxee is apparently having compile problems # if HAVE_REALLOC is defined. Sort this later. #AC_FUNC_REALLOC AC_FUNC_SELECT_ARGTYPES AC_FUNC_SETVBUF_REVERSED AC_TYPE_SIGNAL AC_FUNC_STAT AC_FUNC_STRCOLL AC_FUNC_STRFTIME AC_FUNC_STRTOD AC_FUNC_UTIME_NULL AC_FUNC_VPRINTF 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]) # Check for various sizes AC_CHECK_SIZEOF([int]) AC_CHECK_SIZEOF([size_t]) # Add top source directory for all builds so we can use config.h INCLUDES="$INCLUDES -I\$(abs_top_srcdir)" # Checks for boost headers using CXX instead of CC AC_LANG_PUSH([C++]) AC_CHECK_HEADER([boost/shared_ptr.hpp],, AC_MSG_ERROR($missing_library)) AC_LANG_POP([C++]) # Checks for platforms libraries. if test "$use_gles" = "yes"; then # GLES overwrites GL if both set to yes. AC_CHECK_LIB([EGL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLESv2], [main],, AC_MSG_ERROR($missing_library)) else if test "$use_gl" = "yes"; then if test "$host_vendor" = "apple" ; then # linking to OpenGL.framework instead of libGL, libGLU AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library)) else AC_CHECK_LIB([GL], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLEW],[main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([GLU], [main],, AC_MSG_ERROR($missing_library)) fi else AC_MSG_RESULT(== WARNING: OpenGL support is disabled. XBMC will run VERY slow. ==) AC_CHECK_LIB([SDL_gfx],[main]) fi fi # platform independent libraries AC_CHECK_HEADER([mad.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([jpeglib.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([samplerate.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([ogg/ogg.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([vorbis/vorbisfile.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([vorbis/vorbisenc.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([ass], [ass_set_message_cb],,use_external_libass="no") AC_CHECK_LIB([bz2], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([jpeg], [main],, AC_MSG_ERROR($missing_library)) # check for cximage AC_CHECK_LIB([pthread], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([lzo2], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([z], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([ssl], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([crypto], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([wavpack], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([mpeg2], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([mpeg2convert],[main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([ssh], [sftp_tell64],, AC_MSG_RESULT([Could not find suitable version of libssh])) PKG_CHECK_MODULES([MAD], [mad], [INCLUDES="$INCLUDES $MAD_CFLAGS"; LIBS="$LIBS $MAD_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([FONTCONFIG], [fontconfig], [INCLUDES="$INCLUDES $FONTCONFIG_CFLAGS"; LIBS="$LIBS $FONTCONFIG_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([FRIBIDI], [fribidi], [INCLUDES="$INCLUDES $FRIBIDI_CFLAGS"; LIBS="$LIBS $FRIBIDI_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([SQLITE3], [sqlite3], [INCLUDES="$INCLUDES $SQLITE3_CFLAGS"; LIBS="$LIBS $SQLITE3_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([PNG], [libpng], [INCLUDES="$INCLUDES $PNG_CFLAGS"; LIBS="$LIBS $PNG_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([PCRE], [libpcre], [INCLUDES="$INCLUDES $PCRE_CFLAGS"; LIBS="$LIBS $PCRE_LIBS"]; \ AC_DEFINE([HAVE_LIBPCRE],[1],["Define to 1 if libpcre is installed"]), AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([PCRECPP], [libpcrecpp], [INCLUDES="$INCLUDES $PCRECPP_CFLAGS"; LIBS="$LIBS $PCRECPP_LIBS"]; \ AC_DEFINE([HAVE_LIBPCRECPP],[1],["Define to 1 if libpcrecpp is installed"]), AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([CDIO], [libcdio], [INCLUDES="$INCLUDES $CDIO_CFLAGS"; LIBS="$LIBS $CDIO_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([SAMPLERATE], [samplerate], [INCLUDES="$INCLUDES $SAMPLERATE_CFLAGS"; LIBS="$LIBS $SAMPLERATE_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([MMS], [libmms], [INCLUDES="$INCLUDES $MMS_CFLAGS"; LIBS="$LIBS $MMS_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([FREETYPE2], [freetype2], [INCLUDES="$INCLUDES $FREETYPE2_CFLAGS"; LIBS="$LIBS $FREETYPE2_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([OGG], [ogg], [INCLUDES="$INCLUDES $OGG_CFLAGS"; LIBS="$LIBS $OGG_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([VORBIS], [vorbis], [INCLUDES="$INCLUDES $VORBIS_CFLAGS"; LIBS="$LIBS $VORBIS_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([VORBISENC], [vorbisenc], [INCLUDES="$INCLUDES $VORBISENC_CFLAGS"; LIBS="$LIBS $VORBISENC_LIBS"], AC_MSG_ERROR($missing_library)) # check for libbluray AS_CASE([x$use_libbluray], [xyes],[ PKG_CHECK_MODULES([LIBBLURAY],[libbluray],[use_libbluray="yes"], AC_MSG_ERROR($missing_library)) ], [xauto],[ PKG_CHECK_MODULES([LIBBLURAY],[libbluray],[use_libbluray="yes"], [use_libbluray="no"]) ]) AS_CASE([x$use_libbluray], [xyes],[ INCLUDES="$INCLUDES $LIBBLURAY_CFLAGS"; if test "$host_vendor" != "apple"; then XB_FIND_SONAME([BLURAY], [bluray], [use_libbluray]) fi; AC_DEFINE([HAVE_LIBBLURAY], 1, [System has libbluray library]) AC_SUBST([HAVE_LIBBLURAY], 1) ],[ # AC_DEFINE([HAVE_LIBBLURAY], 0, [System has libbluray library]) AC_SUBST([HAVE_LIBBLURAY], 0) ] ) # platform dependent libraries if test "$host_vendor" = "apple" ; then AC_CHECK_LIB([iconv], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([mysqlclient], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([VORBISFILE], [vorbisfile], [INCLUDES="$INCLUDES $VORBISFILE_CFLAGS"; LIBS="$LIBS $VORBISFILE_LIBS"], AC_MSG_ERROR($missing_library)) else AC_CHECK_PROG(MYSQL_CONFIG, mysql_config, "yes", "no") if test $MYSQL_CONFIG = "yes"; then INCLUDES="$INCLUDES `mysql_config --include`" LIBS="$LIBS `mysql_config --libs`" else AC_MSG_ERROR($missing_program) fi # don't combine with mysqlclient check in apple section above, Linux needs # paths from mysql_config AC_CHECK_LIB([modplug], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([mysqlclient],[main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([faad], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([smbclient], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([SDL_mixer], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([dl], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([resolv], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([jasper], [main],, AC_MSG_ERROR($missing_library)) # check for cximage AC_CHECK_LIB([tiff], [main],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([rt], [clock_gettime],, AC_MSG_ERROR($missing_library)) AC_CHECK_LIB([SDL_image], [main],, AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([ALSA], [alsa], [INCLUDES="$INCLUDES $ALSA_CFLAGS"; LIBS="$LIBS $ALSA_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([ENCA], [enca], [INCLUDES="$INCLUDES $ENCA_CFLAGS"; LIBS="$LIBS $ENCA_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([XT], [xt], [INCLUDES="$INCLUDES $XT_CFLAGS"; LIBS="$LIBS $XT_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([XTST], [xtst], [INCLUDES="$INCLUDES $XTST_CFLAGS"; LIBS="$LIBS $XTST_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([XEXT], [xext], [INCLUDES="$INCLUDES $XEXT_CFLAGS"; LIBS="$LIBS $XEXT_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([XMU], [xmu], [INCLUDES="$INCLUDES $XMU_CFLAGS"; LIBS="$LIBS $XMU_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([XINERAMA],[xinerama], [INCLUDES="$INCLUDES $XINERAMA_CFLAGS"; LIBS="$LIBS $XINERAMA_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([CURL], [libcurl], [INCLUDES="$INCLUDES $CURL_CFLAGS"; LIBS="$LIBS $CURL_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([DBUS], [dbus-1], [INCLUDES="$INCLUDES $DBUS_CFLAGS"; LIBS="$LIBS $DBUS_LIBS"], AC_MSG_ERROR($missing_library)) PKG_CHECK_MODULES([SDL], [sdl], [INCLUDES="$INCLUDES $SDL_CFLAGS"; LIBS="$LIBS $SDL_LIBS"], AC_MSG_ERROR($missing_library)) fi # This is used to skip some submodule configuration on non-Apple hardware HOST_NOT_APPLE=1 if [[ "$host_vendor" = "apple" ]]; then HOST_NOT_APPLE=0 fi if test "$host_vendor" != "apple"; then XB_FIND_SONAME([CURL], [curl]) XB_FIND_SONAME([FLAC], [FLAC]) XB_FIND_SONAME([MODPLUG], [modplug]) XB_FIND_SONAME([FAAD], [faad]) XB_FIND_SONAME([MAD], [mad]) fi XB_FIND_SONAME([OGG], [ogg]) XB_FIND_SONAME([VORBIS], [vorbis]) XB_FIND_SONAME([VORBISENC], [vorbisenc]) XB_FIND_SONAME([VORBISFILE], [vorbisfile]) # WebServer if test "$host_vendor" != "apple" ; then if test "$use_webserver" = "yes"; then AC_CHECK_LIB([microhttpd], [main],, AC_MSG_ERROR($missing_library)) fi else if test "$use_webserver" = "yes"; then AC_DEFINE([HAVE_LIBMICROHTTPD], [1],) fi fi # PulseAudio if test "x$use_pulse" != "xno"; then if test "$host_vendor" = "apple" ; then if test "x$use_pulse" = "xyes"; then AC_MSG_ERROR($pulse_disabled) else use_pulse="no" AC_MSG_RESULT($pulse_disabled) fi else AC_CHECK_LIB([pulse], [main],, [if test "x$use_pulse" = "xyes"; then AC_MSG_ERROR($pulse_not_found) else use_pulse=no AC_MSG_RESULT($pulse_not_found) fi]) fi else AC_MSG_RESULT($pulse_disabled) fi # FAAC if test "$host_vendor" = "apple" ; then use_faac="no" AC_MSG_RESULT($faac_disabled) else if test "$use_faac" = "yes"; then AC_CHECK_LIB([faac], [main],, use_faac=no;AC_MSG_RESULT($faac_not_found)) else AC_MSG_RESULT($faac_disabled) fi fi # HAL if test "$host_vendor" = "apple" ; then use_hal="no" AC_MSG_RESULT($hal_disabled) else if test "$use_hal" = "yes"; then PKG_CHECK_MODULES([HAL], [hal], [INCLUDES="$INCLUDES $HAL_CFLAGS"; LIBS="$LIBS $HAL_LIBS"], use_hal=no;AC_MSG_RESULT($hal_not_found)) PKG_CHECK_MODULES([HAL_STORAGE], [hal-storage], [INCLUDES="$INCLUDES $HAL_STORAGE_CFLAGS"; LIBS="$LIBS $HAL_STORAGE_LIBS"], use_hal=no;AC_MSG_RESULT($halstorage_not_found)) else AC_MSG_RESULT($hal_disabled) fi if test "$use_hal" = "yes"; then AC_DEFINE([HAS_HAL], [1], [Define to 1 if you have HAL installed]) fi fi # avahi if test "$host_vendor" = "apple" ; then use_avahi="no" AC_MSG_RESULT($avahi_disabled) else if test "$use_avahi" = "yes"; then AC_CHECK_LIB([avahi-common], [main],, use_avahi=no;AC_MSG_RESULT($avahi_not_found)) if test "$use_avahi" = "yes"; then #either both libs or none AC_CHECK_LIB([avahi-client], [main],, use_avahi=no;AC_MSG_RESULT($avahi_not_found)) fi else AC_MSG_RESULT($avahi_disabled) fi fi # XRandR if test "$host_vendor" = "apple" ; then use_xrandr="no" AC_MSG_RESULT($xrandr_disabled) else if test "$use_xrandr" = "yes" ; then AC_CHECK_LIB([Xrandr], [main],, use_xrandr="no";AC_MSG_RESULT($xrandr_not_found)) else AC_MSG_RESULT($xrandr_disabled) fi fi # GOOM if test "$host_vendor" = "apple" ; then AC_MSG_NOTICE($goom_disabled) BUILD_GOOM=1 else if test "$use_goom" = "yes"; then AC_MSG_NOTICE($goom_enabled) BUILD_GOOM=0 else AC_MSG_NOTICE($goom_disabled) BUILD_GOOM=1 fi fi # libRTMP if test "$use_librtmp" != "no"; then AC_CHECK_HEADERS([librtmp/log.h librtmp/amf.h librtmp/rtmp.h],, [if test "$use_librtmp" = "yes"; then AC_MSG_ERROR($librtmp_not_found) elif test "$use_librtmp" != "no"; then AC_MSG_NOTICE($librtmp_not_found) use_librtmp="no" fi ]) if test "$use_librtmp" != "no" && test "$host_vendor" != "apple"; then XB_FIND_SONAME([RTMP], [rtmp], [use_librtmp]) fi if test "$use_librtmp" != "no"; then AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.]) fi else AC_MSG_NOTICE($librtmp_disabled) fi ### External libraries checks # External FFmpeg if test "$use_external_ffmpeg" = "yes"; then PKG_CHECK_MODULES([FFMPEG], [libavcodec libavformat libavutil libpostproc libswscale], [INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"], AC_MSG_ERROR($missing_library)) # Determine whether AVPacket and relevant functions are defined in libavformat # or libavcodec AC_CHECK_LIB([avcodec], [av_free_packet], [AC_MSG_NOTICE(== AVPacket and relevant functions defined in libavcodec. ==)], [AC_MSG_NOTICE(== AVPacket and relevant functions defined in libavformat. ==) AC_DEFINE([AVPACKET_IN_AVFORMAT], [1], [Whether AVPacket is in libavformat.])]) # in case the headers are in a custom directory SAVE_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $FFMPEG_CFLAGS" # Possible places the ffmpeg headers may be AC_CHECK_HEADERS([libavcodec/avcodec.h libavformat/avformat.h libavutil/avutil.h libpostproc/postprocess.h libswscale/swscale.h],, [AC_CHECK_HEADERS([ffmpeg/avcodec.h ffmpeg/avformat.h ffmpeg/avutil.h postproc/postprocess.h ffmpeg/swscale.h],, [AC_MSG_ERROR($missing_headers)])]) # We'll support the use of rgb2rgb.h if it exists. AC_CHECK_HEADERS([libswscale/rgb2rgb.h],,) AC_CHECK_HEADERS([ffmpeg/rgb2rgb.h],,) AC_MSG_NOTICE($external_ffmpeg_enabled) USE_EXTERNAL_FFMPEG=1 AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.]) # Disable vdpau support if external libavcodec doesn't have it AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],, [if test "x$use_vdpau" = "xyes"; then AC_MSG_ERROR($ffmpeg_vdpau_not_supported) else use_vdpau=no AC_MSG_RESULT($ffmpeg_vdpau_not_supported) fi]) # Check for 'PIX_FMT_VDPAU_MPEG4' from libavutil if test "x$use_vdpau" != "xno"; then AC_LANG_PUSH([C++]) AC_LINK_IFELSE( [ #include int main() { PixelFormat format = PIX_FMT_VDPAU_MPEG4; }], [AC_DEFINE([PIX_FMT_VDPAU_MPEG4_IN_AVUTIL], [1], [Whether AVUtil defines PIX_FMT_VDPAU_MPEG4.])],) AC_LANG_POP([C++]) fi CPPFLAGS="$SAVE_CPPFLAGS" else AC_MSG_NOTICE($external_ffmpeg_disabled) USE_EXTERNAL_FFMPEG=0 AC_DEFINE([PIX_FMT_VDPAU_MPEG4_IN_AVUTIL], [1], [Whether AVUtil defines PIX_FMT_VDPAU_MPEG4.]) fi # External liba52 if deprecated a52 support is enabled if test "$use_liba52" = "yes" && "$use_external_liba52" = "yes"; then AC_CHECK_LIB([a52], [main],, AC_MSG_ERROR($missing_library)) AC_MSG_NOTICE($external_liba52_enabled) USE_EXTERNAL_LIBA52=1 AC_DEFINE([USE_EXTERNAL_LIBA52], [1], [Whether to use external liba52 library.]) USE_INTERNAL_LIBA52=0 SKIP_CONFIG_LIBA52=1 else AC_MSG_NOTICE($external_liba52_disabled) USE_EXTERNAL_LIBA52=0 fi # External libdts if deprecated dts support enabled if test "$use_libdts" = "yes" && "$use_external_libdts" = "yes"; then AC_CHECK_LIB([dts], [main],, AC_MSG_ERROR($missing_library)) AC_MSG_NOTICE($external_libdts_enabled) USE_EXTERNAL_LIBDTS=1 AC_DEFINE([USE_EXTERNAL_LIBDTS], [1], [Whether to use external libdts library.]) USE_INTERNAL_LIBDTS=0 SKIP_CONFIG_LIBDTS=1 else AC_MSG_NOTICE($external_libdts_disabled) USE_EXTERNAL_LIBDTS=0 fi # External Python if test "$use_external_python" = "yes"; then AC_CHECK_LIB([python2.6], [main], [AC_DEFINE([HAVE_LIBPYTHON2_6], [1], [Define to 1 if you have the 'python2.6' library.]) USE_PYTHON2_6=1], [AC_CHECK_LIB([python2.5], [main], [AC_DEFINE([HAVE_LIBPYTHON2_5], [1], [Define to 1 if you have the 'python2.5' library.]) USE_PYTHON2_5=1], [AC_CHECK_LIB([python2.4], [main], [AC_DEFINE([HAVE_LIBPYTHON2_4], [1], [Define to 1 if you have the 'python2.4' library.]) USE_PYTHON2_4=1], [AC_MSG_ERROR($missing_library)] )] )] ) AC_MSG_NOTICE($external_python_enabled) test "$USE_PYTHON2_6" && AC_MSG_NOTICE([Using Python 2.6]) test "$USE_PYTHON2_5" && AC_MSG_NOTICE([Using Python 2.5]) test "$USE_PYTHON2_4" && AC_MSG_NOTICE([Using Python 2.4]) USE_EXTERNAL_PYTHON=1 AC_DEFINE([USE_EXTERNAL_PYTHON], [1], [Whether to use external python library.]) else AC_MSG_NOTICE($external_python_disabled) USE_EXTERNAL_PYTHON=0 fi # VDPAU if test "x$use_vdpau" != "xno"; then if test "$host_vendor" = "apple" ; then if test "x$use_vdpau" = "xyes"; then AC_MSG_ERROR([VDPAU not supported on this platform]) else use_vdpau="no" AC_MSG_NOTICE($vdpau_disabled) fi else AC_CHECK_HEADER([vdpau/vdpau.h],AC_DEFINE([HAVE_LIBVDPAU], [], [Define to 1 if you have the 'vdpau' library (-lvdpau).]), [if test "x$use_vdpau" = "xyes"; then AC_MSG_ERROR([$vdpau_not_found]) else use_vdpau="no" AC_MSG_RESULT($vdpau_not_found) fi]) fi else AC_MSG_NOTICE($vdpau_disabled) fi # VAAPI if test "x$use_vaapi" != "xno"; then if test "$host_vendor" = "apple" ; then if test "x$use_vaapi" = "xyes"; then AC_MSG_ERROR([VAAPI not supported on this platform]) else use_vaapi="no" AC_MSG_NOTICE($vaapi_disabled) fi else initial_val=$use_vaapi AC_CHECK_LIB([va], main, :, use_vaapi=no) if test "x$use_vaapi" != "xno"; then AC_CHECK_LIB([va-glx], main, LIBS="-lva -lva-glx $LIBS", use_vaapi=no, -lva) fi if test "x$use_vaapi" = "xno"; then if test "x$initial_val" = "xyes"; then AC_MSG_ERROR($vaapi_not_found) else AC_MSG_RESULT($vaapi_not_found) fi else AC_DEFINE([HAVE_LIBVA], [1], [Define to 1 if you have the 'vaapi' libraries (-lva AND -lva-glx)]) fi fi else AC_MSG_NOTICE($vaapi_disabled) fi # CrystalHD if test "x$use_crystalhd" != "xno"; then AC_CHECK_HEADER([libcrystalhd/libcrystalhd_if.h], [], [ if test "x$use_crystalhd" = "xyes"; then AC_MSG_ERROR($crystalhd_not_found) else use_crystalhd=no AC_MSG_RESULT($crystalhd_not_found) fi], [#define __LINUX_USER__]) if test "$host_vendor" != "apple"; then XB_FIND_SONAME([CRYSTALHD], [crystalhd], [use_crystalhd]) fi if test "x$use_crystalhd" != "xno"; then SAVE_CFLAGS="$CFLAGS" CFLAGS="-llibcrystalhd" # check for new crystalhd lib AC_COMPILE_IFELSE( [ #define __LINUX_USER__ #include #include PBC_INFO_CRYSTAL bCrystalInfo;], [ AC_DEFINE([HAVE_LIBCRYSTALHD], [2], [Define to 2 if you have the 'New Broadcom Crystal HD' library.]) ], [ AC_DEFINE([HAVE_LIBCRYSTALHD], [1], [Define to 1 if you have the 'Old Broadcom Crystal HD' library.]) ]) CFLAGS="$SAVE_CFLAGS" fi else AC_MSG_NOTICE($crystalhd_disabled) fi # VDADecoder if test "x$use_vdadecoder" != "xno"; then if test "$host_vendor" = "apple" ; then HAVE_LIBVDADECODER=1 AC_DEFINE([HAVE_LIBVDADECODER], [1], [Define to 1 if you have the 'VDADecoder' library.]) AC_MSG_NOTICE($vdadecoder_enabled) else if test "x$use_vdadecoder" = "xyes"; then AC_MSG_ERROR([VDA Decoder not supported on this platform]) else use_vdadecoder="no" AC_MSG_NOTICE($vdadecoder_disabled) fi fi else AC_MSG_NOTICE($vdadecoder_disabled) fi # OpenMax if test "$host_vendor" = "apple" ; then use_openmax="no" AC_MSG_NOTICE($openmax_disabled) else if test "$use_openmax" = "yes"; then AC_CHECK_HEADER([OpenMAX/IL/OMX_Types.h], AC_DEFINE([HAVE_LIBOPENMAX], [1], [Define to 1 if you have the 'OpenMax' library.]), use_openmax=no;AC_MSG_RESULT($openmax_not_found)) if test "$use_openmax" = "yes"; then INCLUDES="$INCLUDES -I/usr/include/OpenMAX/IL" fi else AC_MSG_NOTICE($openmax_disabled) fi fi # platform specific bin utilities if test "$host_vendor" != "apple" ; then AC_CHECK_PROG(HAVE_GAWK,gawk,"yes","no",) if test "$HAVE_GAWK" = "no" ; then AC_MSG_ERROR($missing_program) fi fi AC_CHECK_PROG(HAVE_CMAKE,cmake,"yes","no",) if test "$HAVE_CMAKE" = "no" ; then AC_MSG_ERROR($missing_program) fi AC_CHECK_PROG(HAVE_GPERF,gperf,"yes","no",) if test "$HAVE_GPERF" = "no" ; then AC_MSG_ERROR($missing_program) fi AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",) if test "$HAVE_UNZIP" = "no" ; then AC_MSG_ERROR($missing_program) fi AC_CHECK_PROG(HAVE_ZIP,zip,"yes","no",) if test "$HAVE_ZIP" = "no" ; then AC_MSG_ERROR($missing_program) fi if test "$ARCH" != "x86_64-linux"; then AC_CHECK_PROG(HAVE_NASM,nasm,"yes","no",) if test "$HAVE_NASM" = "no" ; then AC_MSG_ERROR($missing_program) fi fi AC_CHECK_PROG(HAVE_SVNVERSION,svnversion,"yes","no",) AC_CHECK_PROG(HAVE_GIT,git,"yes","no",) # Checks for header files. AC_HEADER_DIRENT AC_HEADER_STDC AC_HEADER_SYS_WAIT AC_CHECK_HEADERS([lzo/lzo1.h]) AC_CHECK_HEADERS([arpa/inet.h fcntl.h float.h inttypes.h limits.h locale.h \ malloc.h memory.h netdb.h netinet/in.h stddef.h stdint.h stdlib.h string.h \ strings.h sys/file.h sys/ioctl.h sys/mount.h sys/param.h sys/socket.h \ sys/time.h sys/timeb.h sys/vfs.h termios.h unistd.h utime.h wchar.h wctype.h]) AC_CHECK_HEADERS([cdio/iso9660.h],,AC_MSG_ERROR([$missing_headers])) # Checks for typedefs, structures, and compiler characteristics. AC_HEADER_STAT AC_HEADER_STDBOOL AC_C_CONST AC_TYPE_UID_T AC_C_INLINE AC_TYPE_INT8_T AC_TYPE_INT16_T AC_TYPE_INT32_T AC_TYPE_INT64_T AC_TYPE_MODE_T AC_TYPE_OFF_T AC_TYPE_PID_T AC_C_RESTRICT AC_TYPE_SIZE_T AC_TYPE_SSIZE_T AC_CHECK_MEMBERS([struct stat.st_rdev]) AC_HEADER_TIME AC_STRUCT_TM AC_TYPE_UINT8_T AC_TYPE_UINT16_T AC_TYPE_UINT32_T AC_TYPE_UINT64_T AC_C_BIGENDIAN if test "$cross_compiling" = "yes"; then final_message="$final_message\n Crosscomp.:\tYes" else final_message="$final_message\n Crosscomp.:\tNo" fi final_message="$final_message\n target ARCH:\t$use_arch" final_message="$final_message\n target CPU:\t$use_cpu" if test "$use_gles" = "yes"; then final_message="$final_message\n OpenGLES:\tYes" else if test "$use_gl" = "yes"; then final_message="$final_message\n OpenGL:\tYes" else final_message="$final_message\n OpenGL:\tNo (Very Slow)" SDL_DEFINES="-DHAS_SDL_2D" fi fi if test "x$use_vdpau" != "xno"; then final_message="$final_message\n VDPAU:\tYes" else final_message="$final_message\n VDPAU:\tNo" fi if test "x$use_vaapi" != "xno"; then final_message="$final_message\n VAAPI:\tYes" else final_message="$final_message\n VAAPI:\tNo" fi if test "x$use_crystalhd" != "xno"; then final_message="$final_message\n CrystalHD:\tYes" else final_message="$final_message\n CrystalHD:\tNo" fi if test "x$use_vdadecoder" != "xno"; then final_message="$final_message\n VDADecoder:\tYes" else final_message="$final_message\n VDADecoder:\tNo" fi if test "$use_openmax" != "no"; then final_message="$final_message\n OpenMax:\tYes" else final_message="$final_message\n OpenMax:\tNo" fi if test "$use_joystick" = "yes"; then final_message="$final_message\n Joystick:\tYes" SDL_DEFINES="$SDL_DEFINES -DHAS_SDL_JOYSTICK" else final_message="$final_message\n Joystick:\tNo" fi if test "$use_xrandr" = "yes"; then final_message="$final_message\n XRandR:\tYes" else final_message="$final_message\n XRandR:\tNo" fi if test "$use_goom" = "yes"; then final_message="$final_message\n GOOM:\t\tYes" else final_message="$final_message\n GOOM:\t\tNo" fi if test "$use_libbluray" = "yes"; then final_message="$final_message\n Bluray:\tYes" else final_message="$final_message\n Bluray:\tNo" fi if test "$use_mid" = "yes"; then final_message="$final_message\n MID Support:\tYes" SDL_DEFINES="$SDL_DEFINES -DMID" else final_message="$final_message\n MID Support:\tNo" fi if test -d "/usr/include/lzo"; then INCLUDES="$INCLUDES -I/usr/include/lzo" else INCLUDES="$INCLUDES" fi if test "x$use_ccache" != "xno"; then AC_PATH_PROG(CCACHE,ccache,none) if test "$ac_cv_path_CCACHE" = "none"; then if test "x$use_ccache" = "xyes"; then AC_MSG_ERROR([ccache not found.]); else AC_MSG_NOTICE([ccache not found. Falling back to default CC]) final_message="$final_message\n ccache:\tNo" fi else CC="$ac_cv_path_CCACHE $CC" CXX="$ac_cv_path_CCACHE $CXX" AC_MSG_NOTICE(enabling ccache) final_message="$final_message\n ccache:\tYes" fi else final_message="$final_message\n ccache:\tNo" fi if test "x$use_pulse" != "xno"; then XBMC_STANDALONE_SH_PULSE=tools/Linux/xbmc-standalone.sh.pulse final_message="$final_message\n PulseAudio:\tYes" else XBMC_STANDALONE_SH_PULSE=/dev/null final_message="$final_message\n PulseAudio:\tNo" fi if test "$use_hal" = "yes"; then final_message="$final_message\n HAL Support:\tYes" else final_message="$final_message\n HAL Support:\tNo" fi if test "$use_faac" = "yes"; then final_message="$final_message\n FAAC:\t\tYes" else final_message="$final_message\n FAAC:\t\tNo" fi # DVDCSS if test "$use_dvdcss" = "yes"; then AC_MSG_NOTICE($dvdcss_enabled) final_message="$final_message\n DVDCSS:\tYes" BUILD_DVDCSS=1 SKIP_CONFIG_DVDCSS=0 DVDREAD_CFLAGS="-D_XBMC -DHAVE_DVDCSS_DVDCSS_H" else AC_MSG_NOTICE($dvdcss_disabled) final_message="$final_message\n DVDCSS:\tNo" BUILD_DVDCSS=0 SKIP_CONFIG_DVDCSS=1 DVDREAD_CFLAGS="-D_XBMC -UHAVE_DVDCSS_DVDCSS_H" fi if test "$use_avahi" = "yes"; then final_message="$final_message\n Avahi:\tYes" else final_message="$final_message\n Avahi:\tNo" fi if ! test -n "$SVN_REV" -a "$SVN_REV" != "" ; then if test "$HAVE_SVNVERSION" = "yes" ; then SVN_REV=$(svnversion -n -c 2>/dev/null | grep -iv ^exported | sed -e 's/.*\://') fi if test "$SVN_REV" = ""; then if test "$HAVE_GIT" = "yes"; then SVN_REV=$(./gitrev.sh) fi fi if test "$SVN_REV" = ""; then SVN_REV="Unknown" fi fi if test "$host_vendor" = "apple"; then echo "#define SVN_REV \"$SVN_REV\"" > svn_revision.h else SDL_DEFINES="$SDL_DEFINES -D'SVN_REV=\"$SVN_REV\"'" fi if test "$use_nonfree" = "yes"; then final_message="$final_message\n Non-free:\tYes" HAVE_XBMC_NONFREE=1 AC_DEFINE([HAVE_XBMC_NONFREE], [1], [Define to 1 to enable non-free components.]) else HAVE_XBMC_NONFREE=0 final_message="$final_message\n Non-free:\tNo" fi if test "$use_asap" = "yes"; then AC_CHECK_PROG(HAVE_GDC,gdc,"yes","no") if test "$HAVE_GDC" = "no"; then AC_MSG_ERROR($missing_program); fi AC_CHECK_PROG(HAVE_FPC,fpc,"yes","no") if test "$HAVE_FPC" = "no"; then AC_MSG_ERROR($missing_program); fi USE_ASAP_CODEC=1 AC_DEFINE([USE_ASAP_CODEC], [1], [Define to 1 to enable ASAP codec.]) final_message="$final_message\n ASAP Codec:\tYes" else USE_ASAP_CODEC=0 final_message="$final_message\n ASAP Codec:\tNo" fi if test "$use_webserver" = "yes"; then final_message="$final_message\n Webserver:\tYes" else final_message="$final_message\n Webserver:\tNo" fi if test "$use_librtmp" != "no"; then final_message="$final_message\n libRTMP support:\tYes" else final_message="$final_message\n libRTMP support:\tNo" fi if test "$use_libdts" = "yes"; then USE_LIBDTS_DECODER=1 AC_DEFINE([USE_LIBDTS_DECODER], [1], [Define to 1 to enable deprecated libdts support]) if ! test "$USE_EXTERNAL_LIBDTS" = "1"; then USE_INTERNAL_LIBDTS=1 SKIP_CONFIG_LIBDTS=0 fi final_message="$final_message\n Deprecated libdts:\tYes" else USE_INTERNAL_LIBDTS=0 SKIP_CONFIG_LIBDTS=1 final_message="$final_message\n Deprecated libdts:\tNo" fi if test "$use_liba52" = "yes"; then USE_LIBA52_DECODER=1 AC_DEFINE([USE_LIBA52_DECODER], [1], [Define to 1 to enable deprecated liba52 support]) if ! test "$USE_EXTERNAL_LIBA52" = "1"; then USE_INTERNAL_LIBA52=1 SKIP_CONFIG_LIBA52=0 fi final_message="$final_message\n Deprecated liba52:\tYes" else USE_INTERNAL_LIBA52=0 SKIP_CONFIG_LIBA52=1 final_message="$final_message\n Deprecated liba52:\tNo" fi ### External libraries messages if test "$use_external_ffmpeg" = "yes"; then final_message="$final_message\n External FFmpeg:\tYes" else final_message="$final_message\n External FFmpeg:\tNo" fi if test "$use_liba52" = "yes"; then if test "$use_external_liba52" = "yes"; then final_message="$final_message\n External liba52:\tYes" else final_message="$final_message\n External liba52:\tNo" fi fi if test "$use_libdts" = "yes"; then if test "$use_external_libdts" = "yes"; then final_message="$final_message\n External libdts:\tYes" else final_message="$final_message\n External libdts:\tNo" fi fi if test "$use_external_python" = "yes"; then final_message="$final_message\n External Python:\tYes" else final_message="$final_message\n External Python:\tNo" fi OUTPUT_FILES="Makefile \ Makefile.include \ xbmc/Makefile \ xbmc/cdrip/Makefile \ xbmc/cores/Makefile \ xbmc/cores/VideoRenderers/Makefile \ xbmc/cores/dvdplayer/Makefile \ xbmc/cores/dvdplayer/Codecs/Makefile \ xbmc/cores/dvdplayer/Codecs/libdvd/Makefile \ xbmc/cores/dvdplayer/DVDCodecs/Makefile \ xbmc/cores/dvdplayer/DVDCodecs/Audio/Makefile \ xbmc/cores/dvdplayer/DVDCodecs/Overlay/Makefile \ xbmc/cores/dvdplayer/DVDCodecs/Video/Makefile \ xbmc/cores/dvdplayer/DVDDemuxers/Makefile \ xbmc/cores/dvdplayer/DVDSubtitles/Makefile \ xbmc/cores/AudioRenderers/Makefile \ xbmc/cores/paplayer/Makefile \ xbmc/cores/paplayer/timidity/Makefile \ xbmc/cores/paplayer/AC3Codec/Makefile \ xbmc/cores/paplayer/ADPCMCodec/Makefile \ xbmc/cores/paplayer/asap/Makefile \ xbmc/cores/paplayer/NSFCodec/Makefile \ xbmc/cores/paplayer/SIDCodec/Makefile \ xbmc/cores/paplayer/vgmstream/Makefile \ xbmc/cores/paplayer/SPCCodec/SNES/SNESAPU/Makefile \ xbmc/cores/paplayer/YMCodec/StSoundLibrary/Makefile \ xbmc/cores/playercorefactory/Makefile \ xbmc/karaoke/Makefile \ xbmc/osx/Makefile \ guilib/Makefile \ guilib/common/Makefile \ xbmc/lib/libXBMS/Makefile \ xbmc/lib/libRTV/Makefile \ xbmc/lib/libexif/Makefile \ xbmc/lib/libXDAAP/Makefile \ xbmc/lib/libhdhomerun/Makefile \ xbmc/lib/libhttpapi/Makefile \ lib/jsoncpp/jsoncpp/src/lib_json/Makefile \ xbmc/lib/libjsonrpc/Makefile \ xbmc/lib/libsquish/Makefile \ xbmc/lib/libid3tag/Makefile \ xbmc/lib/cximage-6.0/Makefile \ xbmc/lib/libPython/linux/Makefile \ xbmc/lib/libUPnP/Makefile \ xbmc/DllPaths_generated.h \ xbmc/linux/Makefile \ xbmc/FileSystem/Makefile \ xbmc/screensavers/rsxs-0.9/xbmc/Makefile \ xbmc/visualizations/XBMCProjectM/Makefile \ xbmc/visualizations/Goom/Makefile \ xbmc/visualizations/OpenGLSpectrum/Makefile \ xbmc/visualizations/WaveForm/Makefile \ xbmc/visualizations/iTunes/Makefile \ xbmc/FileSystem/Makefile \ tools/Linux/xbmc.sh \ tools/Linux/xbmc-standalone.sh \ tools/TexturePacker/Makefile \ tools/EventClients/Clients/OSXRemote/Makefile" if test "$host_vendor" = "apple"; then OUTPUT_FILES="$OUTPUT_FILES \ xbmc/cores/paplayer/FLACCodec/Makefile" fi if test "$use_external_libass" = "no"; then OUTPUT_FILES="$OUTPUT_FILES \ lib/libass/xbmc/Makefile" USE_EXTERNAL_LIBASS=0 AC_MSG_NOTICE($libass_using_internal) else AC_DEFINE([USE_EXTERNAL_LIBASS], [1], [Whether to use external libass library.]) USE_EXTERNAL_LIBASS=1 fi # Line below is used so we can use AM_INIT_AUTOMAKE. The corresponding # .dummy.am does nothing. AC_CONFIG_FILES([.dummy]) AC_CONFIG_FILES([${OUTPUT_FILES}]) OUTPUT_FILES="$OUTPUT_FILES \ .dummy" AC_SUBST(CFLAGS) AC_SUBST(CXXFLAGS) AC_SUBST(INCLUDES) AC_SUBST(LDFLAGS) AC_SUBST(SDL_DEFINES) AC_SUBST(BUILD_DVDCSS) AC_SUBST(BUILD_GOOM) AC_SUBST(USE_EXTERNAL_FFMPEG) AC_SUBST(USE_EXTERNAL_LIBA52) AC_SUBST(USE_INTERNAL_LIBA52) AC_SUBST(USE_EXTERNAL_LIBASS) AC_SUBST(USE_EXTERNAL_LIBDTS) AC_SUBST(USE_INTERNAL_LIBDTS) AC_SUBST(USE_EXTERNAL_LIBMPEG2) AC_SUBST(USE_EXTERNAL_LIBWAVPACK) AC_SUBST(USE_EXTERNAL_PYTHON) AC_SUBST(USE_PYTHON2_6) AC_SUBST(USE_PYTHON2_5) AC_SUBST(USE_PYTHON2_4) AC_SUBST(OUTPUT_FILES) AC_SUBST(HAVE_XBMC_NONFREE) AC_SUBST(USE_ASAP_CODEC) AC_SUBST(LIBCURL_BASENAME) AC_SUBST(LIBFLAC_BASENAME) AC_SUBST(LIBVORBISFILE_BASENAME) AC_SUBST(LIBMODPLUG_BASENAME) AC_SUBST(LIBFAAD_BASENAME) AC_SUBST(LIBMAD_BASENAME) AC_SUBST(LIBOGG_BASENAME) AC_SUBST(LIBVORBISENC_BASENAME) AC_SUBST(LIBVORBIS_BASENAME) AC_SUBST_FILE(XBMC_STANDALONE_SH_PULSE) # pushd and popd are not available in other shells besides bash, so implement # our own pushd/popd functions XB_DIRSTACK="$PWD" xb_pushd() { local dirname="$1" if [[ -d "$dirname" ]] && [[ -x "$dirname" ]]; then cd "$dirname" XB_DIRSTACK="$dirname ${XB_DIRSTACK:-$PWD}" return 0 else AC_MSG_ERROR(xb_pushd: unable to change to $dirname) fi } xb_popd() { if [[ -n "$XB_DIRSTACK" ]]; then XB_DIRSTACK="${XB_DIRSTACK#* }" cd "${XB_DIRSTACK%% *}" return 0 else AC_MSG_ERROR(xb_popd: unable to go back to previous directory) fi } # Function to run the configure scripts in our submodules # Consists of three paramaters, the path to the submodule, the configure command # with appropriate arguments, and a third parameter set to 1 if we are to skip # running the script, anything else if not. AC_DEFUN([XB_CONFIG_MODULE],[ AC_CONFIG_COMMANDS_POST([ if [[ $3 != "1" ]]; then if [[ -d $1 ]]; then xb_pushd $1 $2 if [[ $? -ne 0 ]]; then xb_popd AC_MSG_ERROR([[Submodule $1 failed to configure]]) else xb_popd fi else AC_MSG_ERROR([[Submodule $1 does not exist]]) fi else AC_MSG_NOTICE([[Skipping configuration of submodule $1.]]) fi ]) ]) XB_CONFIG_MODULE([xbmc/lib/libPython/Python], [ if test "$host_vendor" = "apple" ; then ./configure \ --enable-ipv6 \ --enable-unicode=ucs4 \ --without-cxx \ --enable-shared \ --without-pymalloc \ --with-suffix=.exe \ LDFLAGS="-L/opt/local/lib" \ OPT="-Wno-deprecated-declarations -I/opt/local/include" \ MACOSX_DEPLOYMENT_TARGET=10.4 CFLAGS="$CFLAGS" && sed -i bak -e "s/define HAVE_GETC_UNLOCKED 1/undef HAVE_GETC_UNLOCKED/" pyconfig.h && sed -i bak -e "s/define HAVE_FSEEKO 1/undef HAVE_FSEEKO/" pyconfig.h && sed -i bak -e "s/define HAVE_FTELLO 1/undef HAVE_FTELLO/" pyconfig.h && sed -i bak -e "s/define HAVE_FTRUNCATE 1/undef HAVE_FTRUNCATE/" pyconfig.h && sed -i bak -e "s/define HAVE_FPATHCONF 1/undef HAVE_FPATHCONF/" pyconfig.h && sed -i bak -e "s/define HAVE_FSYNC 1/undef HAVE_FSYNC/" pyconfig.h && sed -i bak -e "s/define HAVE_FCHDIR 1/undef HAVE_FCHDIR/" pyconfig.h && sed -i bak -e "s/define _POSIX_C_SOURCE 200112L/undef _POSIX_C_SOURCE/" pyconfig.h && sed -i bak -e "s/define _XOPEN_SOURCE 600/undef _XOPEN_SOURCE/" pyconfig.h && sed -i bak -e "s/define _XOPEN_SOURCE_EXTENDED 1/undef _XOPEN_SOURCE_EXTENDED/" pyconfig.h && echo "#define SETPGRP_HAVE_ARG 1" >> pyconfig.h && cp pyconfig.h Include else ./configure \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --disable-ipv6 \ --enable-unicode=ucs4 \ --without-cxx \ --enable-shared \ --without-pymalloc \ --prefix=`pwd`/../linux/python-lib CFLAGS="$CFLAGS" \ CC="$CC" \ CXX="$CXX" && sed -i -e "s/define HAVE_GETC_UNLOCKED 1/undef HAVE_GETC_UNLOCKED/" pyconfig.h && sed -i -e "s/define _POSIX_C_SOURCE 200112L/undef _POSIX_C_SOURCE/" pyconfig.h && sed -i -e "s/define _XOPEN_SOURCE 600/undef _XOPEN_SOURCE/" pyconfig.h && cp pyconfig.h Include fi ], [$USE_EXTERNAL_PYTHON]) XB_CONFIG_MODULE([xbmc/cores/paplayer/FLACCodec/flac-1.2.1], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 -C \ --with-pic \ --disable-asm-optimizations \ --disable-xmms-plugin \ --disable-cpplibs \ CC="$CC" \ CXX="$CXX" fi ], [$HOST_NOT_APPLE]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/ffmpeg], [ if test "$host_vendor" = "apple" ; then ./configure \ --extra-cflags="$CFLAGS -w -D_DARWIN_C_SOURCE -Dattribute_deprecated=" \ --disable-amd3dnow \ --disable-static \ `if test "$use_debug" = "no"; then echo --disable-debug; fi` \ --disable-muxers \ --enable-muxer=spdif \ --enable-muxer=adts \ --disable-encoders \ --enable-encoder=ac3 \ --enable-encoder=aac \ `if test "$use_ffmpeg_libvorbis" == "yes"; then echo --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis; else echo --disable-libvorbis; fi` \ --disable-devices \ --disable-ffplay \ --disable-ffserver \ --disable-ffmpeg \ --enable-shared \ --disable-decoder=mpeg_xvmc \ --enable-postproc \ --enable-gpl \ --enable-protocol=http \ --enable-pthreads \ --enable-runtime-cpudetect \ --cc="$CC" && sed -i "" -e "s#define HAVE_POSIX_MEMALIGN 1#define HAVE_POSIX_MEMALIGN 0#" config.h && sed -i "" -e "s#YASM=yasm#YASM=/opt/local/bin/yasm#" config.mak && sed -i "" -e "s# -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 # #" config.mak && sed -i "" -e "s#libswscale_VERSION_MAJOR=0#libswscale_VERSION_MAJOR=0.7.1#" config.mak && sed -i "" -e "s#libavfilter_VERSION_MAJOR=0#libavfilter_VERSION_MAJOR=0.4.0#" config.mak else CFLAGS="" \ ./configure \ --extra-cflags="$PASSED_CFLAGS $FFMPEG_EXTRACFLAGS" \ --disable-static \ `if test "$use_debug" = "no"; then echo --disable-debug; fi` \ `if test "$cross_compiling" = "yes"; then echo --enable-cross-compile; fi` \ `if test "$use_arch" != "no"; then echo --arch=$use_arch; fi`\ `if test "$use_cpu" != "no"; then echo --cpu=$use_cpu; fi`\ --target-os=$(tolower $(uname -s)) \ --disable-muxers \ --enable-muxer=spdif \ --enable-muxer=adts \ --disable-encoders \ --enable-encoder=ac3 \ --enable-encoder=aac \ `if test "$use_ffmpeg_libvorbis" == "yes"; then echo --enable-libvorbis --enable-muxer=ogg --enable-encoder=libvorbis; else echo --disable-libvorbis; fi` \ --disable-decoder=mpeg_xvmc \ --disable-devices \ --disable-ffplay \ --disable-ffserver \ --disable-ffmpeg \ --enable-shared \ --enable-postproc \ --enable-gpl \ `if test "x$use_vdpau" != "xno"; then echo --enable-vdpau; else echo --disable-vdpau; fi` \ `if test "x$use_vaapi" != "xno"; then echo --enable-vaapi; else echo --disable-vaapi; fi` \ --enable-libfaad \ --enable-protocol=http \ --enable-pthreads \ --enable-runtime-cpudetect \ `case $host_cpu in i?86) echo --disable-pic ;; *) echo --enable-pic ;; esac` \ --cc="$CC" && sed -i -e "s#define HAVE_SYMVER 1#define HAVE_SYMVER 0#" config.h && sed -i -e "s#define HAVE_SYMVER_GNU_ASM 1#define HAVE_SYMVER_GNU_ASM 0#" config.h fi ], [$USE_EXTERNAL_FFMPEG]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdts], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \ ./configure \ --disable-oss \ --disable-solaris-audio \ --disable-al-audio \ --disable-win else ./configure \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --disable-oss \ --disable-solaris-audio \ --disable-al-audio \ --disable-win \ CFLAGS="$CFLAGS" fi ], [$SKIP_CONFIG_LIBDTS]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdcss], [ if test "$host_vendor" = "apple" ; then ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \ CFLAGS="$CFLAGS -fno-common" \ --disable-doc \ --enable-static \ --with-pic else ./configure \ CC="$CC" \ CXX="$CXX" \ CFLAGS="$CFLAGS" \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --disable-doc \ --enable-static \ --with-pic fi ], [$SKIP_CONFIG_DVDCSS]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdread], [ if test "$host_vendor" = "apple" ; then ./configure2 MACOSX_DEPLOYMENT_TARGET=10.4 \ --extra-cflags="$CFLAGS -fno-common $DVDREAD_CFLAGS -D__DARWIN__ -I`pwd`/../libdvdcss/src" \ --enable-static \ --disable-shared \ --cc="$CC" && make dvdread-config && mkdir -p `pwd`/../includes/dvdread cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread else ./configure2 \ --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../libdvdcss/src" \ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --enable-static \ --disable-shared \ --disable-strip \ --disable-opts \ --cc="$CC" && make dvdread-config && mkdir -p `pwd`/../includes/dvdread cp `pwd`/../libdvdread/src/*.h `pwd`/../includes/dvdread fi ], [0]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libdvd/libdvdnav], [ if test "$host_vendor" = "apple" ; then ./configure2 MACOSX_DEPLOYMENT_TARGET=10.4 \ --extra-cflags="$CFLAGS -fno-common $DVDREAD_CFLAGS -I`pwd`/../includes" \ --extra-ldflags="-L`pwd`/../libdvdread/obj" \ --with-dvdread-config="`pwd`/../libdvdread/obj/dvdread-config" \ --enable-static \ --disable-shared \ --cc="$CC" else ./configure2 \ --extra-cflags="$CFLAGS $DVDREAD_CFLAGS -I`pwd`/../includes" \ --extra-ldflags="-L`pwd`/../libdvdread/obj" \ --with-dvdread-config="`pwd`/../libdvdread/obj/dvdread-config" \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --enable-static \ --disable-shared \ --cc="$CC" fi ], [0]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libfaad2], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -O3 -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \ --with-pic fi ], [$HOST_NOT_APPLE]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/liba52], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \ --with-pic \ --disable-static \ --enable-shared \ --disable-oss \ --disable-solaris-audio \ --disable-win \ --disable-al-audio else ./configure \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --with-pic \ --disable-static \ --enable-shared \ --disable-oss \ --disable-solaris-audio \ --disable-win \ --disable-al-audio \ CFLAGS="$CFLAGS" fi ], [$SKIP_CONFIG_LIBA52]) XB_CONFIG_MODULE([xbmc/cores/dvdplayer/Codecs/libmad], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \ --with-pic fi ], [$HOST_NOT_APPLE]) XB_CONFIG_MODULE([xbmc/lib/cximage-6.0/zlib], [ if test "$host_vendor" = "apple" ; then export MACOSX_DEPLOYMENT_TARGET=10.4 CFLAGS="$CFLAGS -fno-common" \ ./configure fi ], [0]) XB_CONFIG_MODULE([lib/libass], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 else CFLAGS="$CFLAGS" \ ./configure \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias fi ], [$USE_EXTERNAL_LIBASS]) XB_CONFIG_MODULE([xbmc/lib/libid3tag/libid3tag],[ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 \ --disable-static \ --disable-debugging \ --with-pic else ./configure \ CC="$CC" \ CXX="$CXX" \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS" \ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --disable-static \ --with-pic fi ], [0]) XB_CONFIG_MODULE([xbmc/visualizations/XBMCProjectM/libprojectM],[ if test "$host_vendor" = "apple" ; then 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 . else set -x rm -f CMakeCache.txt && CC="$CC" CXX="$CXX" cmake -DCMAKE_BUILD_TYPE=None -DUSE_FTGL:BOOL=OFF \ -DCMAKE_C_FLAGS:STRING="${CFLAGS}" -DCMAKE_CXX_FLAGS:STRING="${CXXFLAGS}" \ -DCMAKE_INSTALL_PREFIX="${prefix}" -DCMAKE_INSTALL_LIBDIR:PATH="${libdir}" \ -DINCLUDE_INSTALL_DIR:PATH="${includedir}" -DLIB_INSTALL_DIR:PATH="${libdir}" \ -DSYSCONF_INSTALL_DIR:PATH="${sysconfdir}" -DSHARE_INSTALL_PREFIX:PATH="${datadir}" . set +x fi ], [0]) XB_CONFIG_MODULE([xbmc/visualizations/Goom/goom2k4-0],[ if test "$host_vendor" != "apple" ; then ./configure \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS" \ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --disable-shared \ --enable-static \ --with-pic fi ], [$BUILD_GOOM]) XB_CONFIG_MODULE([xbmc/screensavers/rsxs-0.9/], [ if expr "X$host_cpu" : 'Xarm.*' > /dev/null; then :; else if test "$host_vendor" = "apple" ; then ./configure \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS" \ LDFLAGS="-L/opt/local/lib" \ LIBS="-lz" \ --x-includes=/usr/X11/include --x-libraries=/usr/X11/lib \ --without-xscreensaver \ --disable-sound \ --disable-cyclone \ --disable-fieldlines \ --disable-flocks \ --disable-flux \ --disable-helios \ --disable-hyperspace \ --disable-lattice \ --disable-skyrocket else ./configure \ CC="$CC" \ CXX="$CXX" \ CFLAGS="$CFLAGS" \ CXXFLAGS="$CXXFLAGS" \ --prefix="${prefix}" --includedir="${includedir}" --libdir="${libdir}" --datadir="${datadir}" \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias \ --without-xscreensaver \ --disable-sound \ --disable-cyclone \ --disable-fieldlines \ --disable-flocks \ --disable-flux \ --disable-helios \ --disable-hyperspace \ --disable-lattice \ --disable-skyrocket fi fi ], [0]) XB_CONFIG_MODULE([xbmc/lib/libapetag], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 --disable-shared else ./configure \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" fi ], [0]) XB_CONFIG_MODULE([lib/libmodplug], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ CXXFLAGS="$CXXFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 --with-pic --disable-shared --enable-static fi ], [$HOST_NOT_APPLE]) XB_CONFIG_MODULE([lib/libmicrohttpd], [ if test "$host_vendor" = "apple" ; then CFLAGS="$CFLAGS -fno-common" \ CXXFLAGS="$CXXFLAGS -fno-common" \ ./configure MACOSX_DEPLOYMENT_TARGET=10.4 --with-pic --disable-shared --enable-static --with-libgcrypt-prefix=/dev/null fi ], [$HOST_NOT_APPLE]) XB_CONFIG_MODULE([lib/cpluff], [ if test "$host_vendor" = "apple" ; then ./configure --disable-nls --with-libiconv-prefix=/opt/local --with-libintl-prefix=/opt/local --without-readline CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS" else ./configure --disable-nls \ --host=$host_alias \ --build=$build_alias \ --target=$target_alias CFLAGS="$CFLAGS" CC="$CC" CXX="$CXX" fi ], [0]) AC_OUTPUT final_message="$final_message\n prefix:\t$prefix\n$dashes" echo -e "$final_message\n"