# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT([xbmc], [12.9.7], [http://trac.xbmc.org])
+AC_INIT([xbmc], [12.9.8], [http://trac.xbmc.org])
AC_CONFIG_HEADERS([xbmc/config.h])
AH_TOP([#pragma once])
+m4_include([m4/ax_prog_cc_for_build.m4])
+m4_include([m4/ax_prog_cxx_for_build.m4])
m4_include([m4/ax_python_devel.m4])
+m4_include([m4/xbmc_arch.m4])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([foreign])
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. =="
+waveform_enabled="== WAVEFORM enabled =="
+waveform_disabled="== WAVEFORM disabled =="
+spectrum_enabled="== SPECTRUM enabled =="
+spectrum_disabled="== SPECTRUM disabled =="
goom_enabled="== GOOM enabled. =="
goom_disabled="== GOOM disabled. =="
alsa_disabled="== ALSA support disabled. =="
[use_xrandr=$enableval],
[use_xrandr=yes])
+AC_ARG_ENABLE([waveform],
+ [AS_HELP_STRING([--enable-waveform],
+ [enable Waveform visualisation (default is yes)])],
+ [use_waveform=$enableval],
+ [use_waveform=yes])
+
+AC_ARG_ENABLE([spectrum],
+ [AS_HELP_STRING([--enable-spectrum],
+ [enable Spectrum visualisation (default is yes)])],
+ [use_spectrum=$enableval],
+ [use_spectrum=yes])
+
AC_ARG_ENABLE([goom],
[AS_HELP_STRING([--enable-goom],
[enable GOOM visualisation (default is no)])],
[use_external_ffmpeg=$enableval],
[use_external_ffmpeg=$use_external_libraries])
+AC_ARG_ENABLE([libav-compat],
+ [AS_HELP_STRING([--enable-libav-compat],
+ [build a wrapper around libav to provide the functions needed by XBMC. This is
+ *not* supported by XBMC developers and is provided only for convenience. (default is no) 'Linux only'])],
+ [use_libav_hacks=$enableval],
+ [use_libav_hacks=no])
+
### End of external library options
if test "x$host_vendor" != "xapple"; then
fi
# Checks for programs.
+PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values
+AC_PROG_CC
+AX_PROG_CC_FOR_BUILD
+CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS"
PASSED_CXXFLAGS=$CXXFLAGS # Hack to override autoconf default values
AC_PROG_CXX
+AX_PROG_CXX_FOR_BUILD
CXXFLAGS="$PASSED_CXXFLAGS $DEFAULT_COMPILE_FLAGS"
-PASSED_CFLAGS=$CFLAGS # Hack to override autoconf default values
-AC_PROG_CC
AC_PROG_LIBTOOL
-CFLAGS="$PASSED_CFLAGS $DEFAULT_COMPILE_FLAGS"
AC_PROG_AWK
AC_PROG_LN_S
AC_PROG_MAKE_SET
;;
i*86*-linux-gnu*)
ARCH="i486-linux"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;;
x86_64-*-linux-gnu*)
ARCH="x86_64-linux"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
;;
i386-*-freebsd*)
ARCH="x86-freebsd"
MAKE="gmake"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX")
;;
amd64-*-freebsd*)
ARCH="x86_64-freebsd"
MAKE="gmake"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX")
;;
arm-apple-darwin*)
use_joystick=no
use_dvdcss=no
use_gles=yes
use_cpu=cortex-a8
- use_texturepacker_native=yes
ARCH="arm-osx"
use_arch="arm"
PYTHON_VERSION="2.6"
PYTHON_CPPFLAGS="-I${prefix}/include/python2.6"
PYTHON_SITE_PKG="${prefix}/lib/python2.6/site-packages"
PYTHON_NOVERSIONCHECK="no-check"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_IOS -D_LINUX")
;;
*86*-apple-darwin*)
use_joystick=no
use_vtbdecoder=no
- use_texturepacker_native=yes
ARCH="x86-osx"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
;;
powerpc-apple-darwin*)
use_joystick=no
use_crystalhd=no
ARCH="powerpc-osx"
use_arch="ppc"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX")
;;
powerpc-*-linux-gnu*)
ARCH="powerpc-linux"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC")
;;
powerpc64-*-linux-gnu*)
ARCH="powerpc64-linux"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_POWERPC64")
;;
arm*-*-linux-gnu*)
- use_texturepacker=no
ARCH="arm"
use_arch="arm"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX")
ffmpeg_target_os=linux
use_joystick=no
use_neon=yes
esac
AC_SUBST([ARCH])
-
-check_sdl_arch=[`file $USE_TEXTUREPACKER_NATIVE_ROOT/lib/libSDL_image.dylib | awk '{print $NF}'`]
+check_sdl_arch=[`file $NATIVE_ROOT/lib/libSDL_image.dylib | awk '{print $NF}'`]
if test "x$check_sdl_arch" = "xi386" ; then
DARWIN_NATIVE_ARCH=-m32
elif test "x$check_sdl_arch" = "xx86_64" ; then
if test "$target_platform" = "target_android" ; then
USE_ANDROID=1
- use_texturepacker_native=yes
webserver_checkdepends=yes
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID")
CFLAGS="$CFLAGS -Wno-psabi"
CXXFLAGS="$CXXFLAGS -Wno-psabi"
AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
raspberry-pi)
target_platform=target_raspberry_pi
use_neon=no
- use_texturepacker=yes
- use_texturepacker_native=yes
use_arch="arm"
use_cpu=arm1176jzf-s
use_hardcoded_tables="yes"
use_alsa="no"
ARCH="arm"
- AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI")
AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
USE_OMXLIB=1; AC_DEFINE([HAVE_OMXLIB],[1],["Define to 1 if OMX libs is enabled"])
CFLAGS="$CFLAGS"
;;
esac
+XBMC_SETUP_ARCH_DEFINES()
+
# check for GIT_REV
AC_CHECK_PROG(HAVE_GIT,git,"yes","no",)
if test "$GIT_REV" = ""; then
fi
fi
+# WAVEFORM
+if test "$use_waveform" = "yes"; then
+ AC_MSG_NOTICE($waveform_enabled)
+ DISABLE_WAVEFORM=0
+else
+ AC_MSG_NOTICE($waveform_disabled)
+ DISABLE_WAVEFORM=1
+fi
+
+# SPECTRUM
+if test "$use_spectrum" = "yes"; then
+ AC_MSG_NOTICE($spectrum_enabled)
+ DISABLE_SPECTRUM=0
+else
+ AC_MSG_NOTICE($spectrum_disabled)
+ DISABLE_SPECTRUM=1
+fi
+
# GOOM
if test "$host_vendor" = "apple" ; then
AC_MSG_NOTICE($goom_disabled)
### External libraries checks
+# Hacks for supporting libav
+
+USE_LIBAV_HACKS=0
+if test "$use_libav_hacks" = "yes"; then
+ export PKG_CONFIG_PATH="${srcdir}/lib/xbmc-libav-hacks/pkgconfig/:$PKG_CONFIG_PATH"
+ USE_LIBAV_HACKS=1
+ AC_DEFINE([USE_LIBAV_HACKS], [1], [Whether to use libav compatibility hacks.])
+fi
+
# External FFmpeg
if test "$use_external_ffmpeg" = "yes"; then
- FFMPEG_LIBNAMES="libavcodec libavfilter libavformat libavutil libpostproc libswscale"
-
- # one of libswresample or libavresample is needed
- PKG_CHECK_EXISTS([libswresample], FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libswresample",
- [PKG_CHECK_EXISTS([libavresample],
- FFMPEG_LIBNAMES="$FFMPEG_LIBNAMES libavresample",
- AC_MSG_ERROR([You need either libswresample
- or libavresample.]))])
+ FFMPEG_LIBNAMES="libavcodec libavfilter libavformat libavutil libpostproc libswscale libswresample"
PKG_CHECK_MODULES([FFMPEG], [$FFMPEG_LIBNAMES],
[INCLUDES="$INCLUDES $FFMPEG_CFLAGS"; LIBS="$LIBS $FFMPEG_LIBS"],
AC_CHECK_HEADERS([libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h libavutil/avutil.h libpostproc/postprocess.h libswscale/swscale.h],,
[AC_MSG_ERROR($missing_headers)])
- # Check for libswresample or libavresample headers.
- AC_CHECK_HEADERS([libswresample/swresample.h libavresample/avresample.h])
-
AC_MSG_NOTICE($external_ffmpeg_enabled)
USE_EXTERNAL_FFMPEG=1
AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg libraries.])
# additional internal players
case $add_players in
*amlplayer*)
- AC_CHECK_HEADER([amlplayer/amports/amstream.h],, AC_MSG_ERROR($missing_headers))
+ AC_CHECK_HEADER([amplayer/player_error.h],, AC_MSG_ERROR($missing_headers))
XB_ADD_PLAYER([AMLPLAYER], [amlplayer])
;;
*omxplayer*)
# additional internal codecs
case $add_codecs in
*amcodec*)
- AC_CHECK_HEADER([amlplayer/codec_error.h],, AC_MSG_ERROR($missing_headers))
+ AC_CHECK_HEADER([amcodec/codec_error.h],, AC_MSG_ERROR($missing_headers))
XB_ADD_CODEC([LIBAMCODEC], [amcodec])
;;
*libstagefright*)
if test "$cross_compiling" = "yes"; then
final_message="$final_message\n Crosscomp.:\tYes"
+ if [[ -d "$NATIVE_ROOT" ]]; then
+ CFLAGS_FOR_BUILD="$CFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
+ CXXFLAGS_FOR_BUILD="$CXXFLAGS_FOR_BUILD -I$NATIVE_ROOT/include"
+ LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -L$NATIVE_ROOT/lib"
+ if test "$host_vendor" != "apple" ; then
+ LDFLAGS_FOR_BUILD="$LDFLAGS_FOR_BUILD -Wl,-rpath=$NATIVE_ROOT/lib"
+ fi
+ final_message="$final_message\n Native Root:\t$NATIVE_ROOT"
+ fi
else
final_message="$final_message\n Crosscomp.:\tNo"
fi
USE_XRANDR=0
fi
+if test "$use_waveform" = "yes"; then
+ final_message="$final_message\n Waveform:\tYes"
+else
+ final_message="$final_message\n Waveform:\tNo"
+fi
+
+if test "$use_spectrum" = "yes"; then
+ final_message="$final_message\n Spectrum:\tYes"
+else
+ final_message="$final_message\n Spectrum:\tNo"
+fi
+
if test "$use_goom" = "yes"; then
final_message="$final_message\n GOOM:\t\tYes"
else
final_message="$final_message\n Bluray:\tNo"
fi
-USE_TEXTUREPACKER_NATIVE=0
if test "x$use_texturepacker" != "xno"; then
final_message="$final_message\n TexturePacker:Yes"
USE_TEXTUREPACKER=1
- if test "x$use_texturepacker_native" = "xyes"; then
- USE_TEXTUREPACKER_NATIVE=1
- if [[ ! -d "$USE_TEXTUREPACKER_NATIVE_ROOT" ]]; then
- USE_TEXTUREPACKER_NATIVE_ROOT=
- fi
- fi
else
final_message="$final_message\n TexturePacker:No"
USE_TEXTUREPACKER=0
xbmc/android/loader/Makefile \
xbmc/android/jni/Makefile \
xbmc/utils/Makefile \
- xbmc/main/Makefile"
+ xbmc/main/Makefile \
+ project/cmake/xbmc-config.cmake"
if test "$use_skin_touched" = "yes"; then
OUTPUT_FILES="$OUTPUT_FILES addons/skin.touched/media/Makefile"
AC_SUBST(CXXFLAGS)
AC_SUBST(INCLUDES)
AC_SUBST(LDFLAGS)
+AC_SUBST(CXX_FOR_BUILD)
+AC_SUBST(CC_FOR_BUILD)
+AC_SUBST(CFLAGS_FOR_BUILD)
+AC_SUBST(CXXFLAGS_FOR_BUILD)
+AC_SUBST(LDFLAGS_FOR_BUILD)
AC_SUBST(SDL_DEFINES)
AC_SUBST(BUILD_DVDCSS)
+AC_SUBST(DISABLE_WAVEFORM)
+AC_SUBST(DISABLE_SPECTRUM)
AC_SUBST(DISABLE_GOOM)
AC_SUBST(DISABLE_RSXS)
AC_SUBST(DISABLE_FISHBMC)
AC_SUBST(DISABLE_PROJECTM)
AC_SUBST(USE_SKIN_TOUCHED)
AC_SUBST(USE_EXTERNAL_FFMPEG)
+AC_SUBST(USE_LIBAV_HACKS)
AC_SUBST(PYTHON_VERSION)
AC_SUBST(OUTPUT_FILES)
AC_SUBST(HAVE_XBMC_NONFREE)
AC_SUBST(USE_XRANDR)
AC_SUBST(USE_ALSA)
AC_SUBST(USE_TEXTUREPACKER)
-AC_SUBST(USE_TEXTUREPACKER_NATIVE)
-AC_SUBST(USE_TEXTUREPACKER_NATIVE_ROOT)
AC_SUBST(USE_AIRTUNES)
AC_SUBST(USE_LIBUDEV)
AC_SUBST(USE_LIBUSB)