# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT([xbmc], [12.9.12], [http://issues.xbmc.org])
+AC_INIT([xbmc], [13.1.0], [http://issues.xbmc.org])
AC_CONFIG_HEADERS([xbmc/config.h])
AH_TOP([#pragma once])
m4_include([m4/ax_prog_cc_for_build.m4])
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`]
+ $1_FILENAME=[`otool -L $lib | grep -v lib$2.dylib | grep lib$2 | awk '{V=1; print $V}'`]
+ $1_SONAME=[`basename $$1_FILENAME`]
fi
done
fi
PKG_PROG_PKG_CONFIG
MAKE="${MAKE:-make}"
OBJDUMP="${OBJDUMP:-objdump}"
+READELF="${READELF:-readelf}"
+NM="${NM:-nm}"
use_external_ffmpeg=no
use_static_ffmpeg=no
powerpc64-*-linux-gnu*|powerpc64-*-linux-uclibc*)
ARCH="powerpc64-linux"
;;
- arm*-*-linux-gnu*)
+ arm*-*-linux-gnu*|arm*-*-linux-uclibc*)
ARCH="arm"
use_arch="arm"
ffmpeg_target_os=linux
use_wayland=no
build_shared_lib=yes
;;
+# oskwon
+ mipsel-*-linux*|mipsel*linux)
+ ARCH="mips"
+ use_arch="mips"
+ ffmpeg_target_os=linux
+ use_joystick=no
+ use_gles=yes
+ use_sdl=no
+ use_x11=no
+ use_wayland=no
+ use_static_ffmpeg=no
+ ;;
*)
AC_MSG_ERROR(unsupported host ($host))
esac
CXXFLAGS="$CXXFLAGS"
ffmpeg_target_os=linux
;;
+# oskwon
+ dvbbox)
+ target_platform=target_dvbbox
+ ARCH="mips"
+ use_arch="mips"
+ ffmpeg_target_os=linux
+ use_joystick=no
+ use_gles=yes
+ use_sdl=no
+ use_x11=no
+ use_alsa="no"
+ use_wayland=no
+ use_static_ffmpeg=no
+ AC_DEFINE(HAS_EGLGLES, [1], [Define if supporting EGL based GLES Framebuffer])
+ USE_DVBBOX_EGL=1
+ CFLAGS="$CFLAGS"
+ CXXFLAGS="$CXXFLAGS"
+ ;;
esac
XBMC_SETUP_ARCH_DEFINES()
# ffmpeg may depend on gnutls and vorbisenc, we add those libs at the end of linker
# command in order to resolve any missing symbols
GNUTLS_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors gnutls`
+ HOGWEED_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors hogweed nettle`
VORBISENC_ALL_LIBS=`${PKG_CONFIG} --static --libs-only-l --silence-errors vorbisenc`
fi
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([libmodplug/modplug.h],, AC_MSG_ERROR($missing_library))
-AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library))
AC_CHECK_HEADER([FLAC/stream_decoder.h],, AC_MSG_ERROR($missing_library))
-# we need to check for the header because if it exists we set the openssl
-# and gcrypt MT callback hooks. This is mostly so that libcurl operates
-# in MT manner correctly.
-AC_MSG_CHECKING([for CRYPTO_set_locking_callback(0)])
-AC_TRY_LINK([],[CRYPTO_set_locking_callback(0);],
- [have_curl_static=yes],
- [have_curl_static=no])
-AC_MSG_RESULT($have_curl_static)
+AC_CHECK_HEADER([curl/curl.h],, AC_MSG_ERROR($missing_library))
+XB_FIND_SONAME([CURL], [curl])
+AC_MSG_CHECKING([for CRYPTO_set_locking_callback(0) in $CURL_SONAME])
+if test "$host_vendor" = "apple" ; then
+ libchecker="$NM"
+ searchpattern="T [_]?CRYPTO_set_locking_call"
+else
+ libchecker="$READELF -s"
+ searchpattern="CRYPTO_set_locking_call"
+fi
+if test $($libchecker $CURL_FILENAME | grep -Eq "${searchpattern}" ; echo $?) -eq 0 ; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAS_CURL_STATIC], [1], [Whether OpenSSL inside libcurl is static.])
+else
+ AC_MSG_RESULT(no)
+fi
+
AC_CHECK_HEADER([openssl/crypto.h], AC_DEFINE([HAVE_OPENSSL],[1],[Define if we have openssl]),)
AC_CHECK_HEADER([gcrypt.h], gcrypt_headers_available=yes,gcrypt_headers_available=no)
if test "$gcrypt_headers_available" = "yes"; then
XB_FIND_SONAME([MAD], [mad])
XB_FIND_SONAME([OGG], [ogg])
-XB_FIND_SONAME([CURL], [curl])
XB_FIND_SONAME([FLAC], [FLAC])
XB_FIND_SONAME([VORBIS], [vorbis])
XB_FIND_SONAME([VORBISFILE], [vorbisfile])
AC_DEFINE([HAVE_LIBSSH], [1], [Whether to use libSSH library.])
fi
-# libcurl
-if test "x$have_curl_static" = "xyes"; then
- AC_DEFINE([HAS_CURL_STATIC], [1], [Whether OpenSSL inside libcurl is static.])
-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"; 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
+ PKG_CHECK_MODULES([LIBRTMP], [librtmp],
+ [INCLUDES="$INCLUDES $LIBRTMP_CFLAGS"; LIBS="$LIBS $LIBRTMP_LIBS";
+ XB_FIND_SONAME([RTMP], [rtmp], [use_librtmp])
+ AC_DEFINE([HAS_LIBRTMP], [1], [Whether to use libRTMP library.])
+ RTMP_ALL_LIBS=$(${PKG_CONFIG} --static --libs-only-l --silence-errors librtmp)
+ test "$use_static_ffmpeg" = "yes" && LIBS="$LIBS $RTMP_ALL_LIBS"; LIBS="`echo $LIBS | sed 's/-lrtmp//g'`"],
+ [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"; 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
xbmc/cores/paplayer/Makefile \
xbmc/cores/omxplayer/Makefile \
lib/timidity/Makefile \
- lib/xbadpcm/Makefile \
lib/asap/Makefile \
lib/nosefart/Makefile \
lib/libsidplay2/Makefile \
AC_SUBST(USE_DOXYGEN)
AC_SUBST(USE_PVR_ADDONS)
AC_SUBST(GNUTLS_ALL_LIBS)
+AC_SUBST(HOGWEED_ALL_LIBS)
AC_SUBST(VORBISENC_ALL_LIBS)
+# oskwon
+AC_SUBST(USE_DVBBOX_EGL)
# pushd and popd are not available in other shells besides bash, so implement
# our own pushd/popd functions
sed -ie "s#YASM=yasm#YASM=${YASM}#" config.mak
sed -ie "s#YASMDEP=yasm#YASMDEP=${YASM}#" config.mak
sed -ie "s# -D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 # #" config.mak
- else
+ else # oskwon : disable mips arch at ffmpeg configure.
CFLAGS="" \
CPPFLAGS="" \
CXXFLAGS="" \
`if test "$have_gnutls" = "yes"; then echo --enable-gnutls; fi` \
--enable-pthreads \
--enable-runtime-cpudetect \
+ --enable-runtime-cpudetect \
+ --disable-gnutls \
+ --disable-mips32r2 \
+ --disable-mipsdspr1 \
+ --disable-mipsdspr2 \
+ --disable-mipsfpu \
`if test "$use_hardcoded_tables" = "yes"; then echo --enable-hardcoded-tables; else echo --disable-hardcoded-tables; fi`\
- `if test "$target_platform" = "target_android" && test "$host_cpu" = "i686"; then echo --disable-mmx; fi #workaround for gcc 4.6 bug` \
`if test "$target_platform" = "target_android"; then echo "--custom-libname-with-major=\\$(SLIBPREF)\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; \
else echo "--custom-libname-with-major=\\$(FULLNAME)-\\$(LIBMAJOR)-${ARCH}\\$(SLIBSUF)"; fi` \
`case $host_cpu in i?86*) echo --disable-pic ;; *) echo --enable-pic ;; esac` \