Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

1965 lines (1807 sloc) 64.889 kb
# -*- 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],
[
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 )
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([VORBISFILE], [vorbisfile])
XB_FIND_SONAME([MODPLUG], [modplug])
XB_FIND_SONAME([FAAD], [faad])
XB_FIND_SONAME([MAD], [mad])
XB_FIND_SONAME([OGG], [ogg])
XB_FIND_SONAME([VORBISENC], [vorbisenc])
XB_FIND_SONAME([VORBIS], [vorbis])
fi
# 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 <libavutil/pixfmt.h>
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 <libcrystalhd/bc_dts_types.h>
#include <libcrystalhd/bc_dts_defs.h>
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/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/libshout/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"
Jump to Line
Something went wrong with that request. Please try again.