X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=configure.in;h=a9360610aede308b7b52ca626ac7efff27607eed;hb=24655f8e2caac789cec256a777fe51302a411d85;hp=42dd00e70605dcbef9653acad0c9ec7a6dfa7e99;hpb=f6f539a7c933b37f3efd08cea765f1f0f59a30c5;p=vuplus_xbmc diff --git a/configure.in b/configure.in index 42dd00e..a936061 100644 --- a/configure.in +++ b/configure.in @@ -2,7 +2,7 @@ # 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]) @@ -84,8 +84,8 @@ AC_DEFUN([XB_FIND_SONAME], 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 @@ -599,6 +599,8 @@ AC_PROG_MAKE_SET PKG_PROG_PKG_CONFIG MAKE="${MAKE:-make}" OBJDUMP="${OBJDUMP:-objdump}" +READELF="${READELF:-readelf}" +NM="${NM:-nm}" use_external_ffmpeg=no use_static_ffmpeg=no @@ -625,24 +627,22 @@ case $host in use_sdl=no use_x11=no build_shared_lib=yes - ;; + ;; i*86*-linux-gnu*|i*86*-*-linux-uclibc*) ARCH="i486-linux" if test "$use_cpu" = "no" -a "$cross_compiling" = "yes"; then use_arch="x86" use_cpu="i686" - else - target_platform=target_linux fi + use_static_ffmpeg=yes ;; x86_64-*-linux-gnu*|x86_64-*-linux-uclibc*) ARCH="x86_64-linux" if test "$use_cpu" = "no" -a "$cross_compiling" = "yes"; then use_arch="x86_64" use_cpu="x86_64" - else - target_platform=target_linux fi + use_static_ffmpeg=yes ;; i386-*-freebsd*) ARCH="x86-freebsd" @@ -688,7 +688,7 @@ case $host in 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 @@ -698,6 +698,7 @@ case $host in use_sdl=no use_x11=no use_wayland=no + use_static_ffmpeg=yes ;; arm*-*linux-android*) target_platform=target_android @@ -714,6 +715,18 @@ case $host in 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 @@ -751,6 +764,24 @@ case $use_platform in 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() @@ -875,13 +906,13 @@ elif test "$use_arch" = "arm"; then fi fi fi -if test "$target_platform" = "target_linux"; then +if test "$use_static_ffmpeg" = "yes"; then USE_STATIC_FFMPEG=1 - use_static_ffmpeg=yes AC_DEFINE([USE_STATIC_FFMPEG], [1], [link ffmpeg statically]) # 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 @@ -1100,17 +1131,25 @@ 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([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 @@ -1259,7 +1298,6 @@ fi 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]) @@ -1523,27 +1561,29 @@ else 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 @@ -2527,7 +2567,6 @@ OUTPUT_FILES="Makefile \ xbmc/cores/paplayer/Makefile \ xbmc/cores/omxplayer/Makefile \ lib/timidity/Makefile \ - lib/xbadpcm/Makefile \ lib/asap/Makefile \ lib/nosefart/Makefile \ lib/libsidplay2/Makefile \ @@ -2670,7 +2709,10 @@ AC_SUBST(GTEST_CONFIGURED) 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 @@ -2797,14 +2839,13 @@ XB_CONFIG_MODULE([lib/ffmpeg], [ 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="" \ LDFLAGS="$(echo "$LDFLAGS" | sed "s/-Wl,-Bsymbolic-functions//g")" \ ./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`\ @@ -2828,7 +2869,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [ --disable-ffserver \ --disable-ffmpeg \ --disable-crystalhd \ - `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static; else echo --enable-shared; fi` \ + `if test "$use_static_ffmpeg" = "yes"; then echo --enable-static --disable-shared; else echo --disable-static --enable-shared; fi` \ --disable-doc \ --enable-postproc \ --enable-gpl \ @@ -2839,8 +2880,13 @@ XB_CONFIG_MODULE([lib/ffmpeg], [ `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` \