diff options
Diffstat (limited to 'tools')
26 files changed, 642 insertions, 129 deletions
diff --git a/tools/android/packaging/Makefile.in b/tools/android/packaging/Makefile.in index 69bc9ffc54..339636d645 100644 --- a/tools/android/packaging/Makefile.in +++ b/tools/android/packaging/Makefile.in @@ -4,7 +4,8 @@ OBJS = libcurl.so \ librtmp.so \ libplist.so libshairplay.so \ libxbogg.so libxbvorbis.so libxbvorbisfile.so libxbmpeg2.so \ - libxbmpeg2convert.so libnfs.so libass.so libbluray.so + libxbmpeg2convert.so libnfs.so libass.so \ + libbluray.so libsmbclient.so PLATFORM_OBJS = EXCLUDED_ADDONS = screensaver.rsxs.euphoria visualization.dxspectrum visualization.milkdrop visualization.projectm @@ -72,6 +73,12 @@ apk-noobb: apk-clean package apk-sign xbmc/assets: mkdir -p xbmc/assets +symbols: libs +ifeq (1,@USE_BREAKPAD@) + for f in xbmc/obj/local/$(CPU)/*.so; do sh ./make_symbols.sh $$f; done + tar -cjf @APP_NAME@.symbols-$(CPU)-`$(XBMCROOT)/tools/darwin/packaging/gitrev-posix`.tar.bz2 symbols +endif + shared: mkdir -p assets cp -rfp $(PREFIX)/share/@APP_NAME_LC@/* ./assets @@ -80,7 +87,7 @@ shared: find `pwd`/assets/addons/skin.*/media/* -depth -not -iname "Textures.xbt" -exec rm -rf {} \; find `pwd`/assets/system/keymaps/ -depth -name "joystick*.xml" ! -name "joystick.xml" -exec rm {} \; mv -f `pwd`/assets/system/keymaps/joystick.xml.sample `pwd`/assets/system/keymaps/joystick.xml - cd assets; rm -rf $(EXCLUDED_ADDONS) + cd `pwd`/assets/addons; rm -rf $(EXCLUDED_ADDONS) sharedapk: shared | xbmc/assets cp -rfp assets/* ./xbmc/assets @@ -118,6 +125,7 @@ libs: $(PREFIX)/lib/@APP_NAME_LC@/lib@APP_NAME_LC@.so find $(PREFIX)/lib/@APP_NAME_LC@/addons -name "*.so" -exec cp -fp {} xbmc/obj/local/$(CPU)/ \; find $(PREFIX)/share/@APP_NAME_LC@/addons -name "*.so" -exec cp -fp {} xbmc/obj/local/$(CPU)/ \; find $(PREFIX)/lib/@APP_NAME_LC@/system -name "*.so" -exec cp -fp {} xbmc/obj/local/$(CPU)/ \; + find $(PREFIX)/share/@APP_NAME_LC@/addons -name "*.so" -exec cp -fp {} xbmc/obj/local/$(CPU)/ \; cd xbmc/obj/local/$(CPU)/; find . -name "*.so" -not -name "lib*.so" | sed "s/\.\///" | xargs -I@ mv @ lib@ cp -fp xbmc/obj/local/$(CPU)/*.so xbmc/lib/$(CPU)/ $(STRIP) --strip-unneeded xbmc/lib/$(CPU)/*.so @@ -133,7 +141,7 @@ xbmc/classes.dex: res @javac -classpath $(SDKROOT)/platforms/$(SDK_PLATFORM)/android.jar:xbmc/obj -d xbmc/obj -sourcepath xbmc/src xbmc/src/org/xbmc/@APP_NAME_LC@/*.java @$(DX) --dex --output=xbmc/classes.dex xbmc/obj -package: libs python xbmc/classes.dex +package: libs symbols python xbmc/classes.dex @echo "Creating package..." @cp images/@APP_NAME_LC@app-debug-skeleton.apk images/@APP_NAME_LC@app-debug-$(CPU)-unaligned.apk @cd xbmc; $(ZIP) -r -q ../images/@APP_NAME_LC@app-debug-$(CPU)-unaligned.apk lib/$(CPU) assets classes.dex @@ -152,6 +160,7 @@ $(SRCLIBS): apk-clean: rm -rf images + rm -rf symbols rm -rf xbmc/lib rm -rf xbmc/libs rm -rf xbmc/assets diff --git a/tools/android/packaging/make_symbols.sh b/tools/android/packaging/make_symbols.sh new file mode 100644 index 0000000000..7961ce4dab --- /dev/null +++ b/tools/android/packaging/make_symbols.sh @@ -0,0 +1,6 @@ +FN=$(basename "$1") +dump_syms "$1" > $FN.sym +HASH=`head -n 1 $FN.sym | cut -d " " -f 4` +mkdir -p symbols/$FN/$HASH +mv $FN.sym symbols/$FN/$HASH +echo "$FN.sym generated" diff --git a/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in b/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in index 7181e87550..7187f06c05 100644 --- a/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in +++ b/tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in @@ -2,13 +2,17 @@ package org.xbmc.@APP_NAME_LC@; import android.app.NativeActivity; import android.content.Intent; +import android.media.AudioManager; import android.os.Bundle; import android.util.Log; import android.view.View; import android.graphics.PixelFormat; +import android.os.Handler; public class Main extends NativeActivity { + private XBMCSettingsContentObserver mSettingsContentObserver; + native void _onNewIntent(Intent intent); public Main() @@ -20,6 +24,10 @@ public class Main extends NativeActivity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + setVolumeControlStream(AudioManager.STREAM_MUSIC); + + mSettingsContentObserver = new XBMCSettingsContentObserver(this, new Handler()); + getApplicationContext().getContentResolver().registerContentObserver(android.provider.Settings.System.CONTENT_URI, true, mSettingsContentObserver ); } @Override @@ -66,4 +74,10 @@ public class Main extends NativeActivity } } + @Override + public void onDestroy() + { + getApplicationContext().getContentResolver().unregisterContentObserver(mSettingsContentObserver); + super.onDestroy(); + } } diff --git a/tools/android/packaging/xbmc/src/org/xbmc/kodi/Splash.java.in b/tools/android/packaging/xbmc/src/org/xbmc/kodi/Splash.java.in index 0e2e44e1e3..c042703d40 100644 --- a/tools/android/packaging/xbmc/src/org/xbmc/kodi/Splash.java.in +++ b/tools/android/packaging/xbmc/src/org/xbmc/kodi/Splash.java.in @@ -96,7 +96,7 @@ public class Splash extends Activity { mSplash.mState = msg.what; switch(mSplash.mState) { case InError: - mSplash.finish(); + showErrorDialog(mSplash, "Error", mErrorMsg); break; case Checking: break; @@ -122,6 +122,9 @@ public class Splash extends Activity { sendEmptyMessage(StartingXBMC); else { SetupEnvironment(); + if (mState == InError) { + sendEmptyMessage(InError); + } if (fXbmcHome.exists() && fXbmcHome.lastModified() >= fPackagePath.lastModified() && !mInstallLibs) { mState = CachingDone; mCachingDone = true; @@ -268,7 +271,6 @@ public class Splash extends Activity { protected void onPostExecute(Integer result) { super.onPostExecute(result); if (result < 0) { - showErrorDialog(mSplash, "Error", mErrorMsg); mState = InError; } @@ -276,11 +278,11 @@ public class Splash extends Activity { } } - public void showErrorDialog(Context context, String title, String message) { + public void showErrorDialog(final Activity act, final String title, final String message) { if (myAlertDialog != null && myAlertDialog.isShowing()) return; - AlertDialog.Builder builder = new AlertDialog.Builder(context); + AlertDialog.Builder builder = new AlertDialog.Builder(act); builder.setTitle(title); builder.setIcon(android.R.drawable.ic_dialog_alert); builder.setMessage(Html.fromHtml(message)); @@ -288,6 +290,7 @@ public class Splash extends Activity { new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int arg1) { dialog.dismiss(); + act.finish(); } }); builder.setCancelable(false); @@ -544,8 +547,14 @@ public class Splash extends Activity { } protected void startXBMC() { - // NB: We only preload lib@APP_NAME_LC@ to be able to get info on missing symbols. - // This is not normally needed + // The dynamic linker on droid is a mess. + // Depending on version, it might not be able to properly resolve + try + { + // Surround with try-catch to allow static version (3.0) + System.loadLibrary("smbclient"); + } + catch (UnsatisfiedLinkError e) {} System.loadLibrary("@APP_NAME_LC@"); // Run @APP_NAME@ @@ -640,13 +649,13 @@ public class Splash extends Activity { SetupEnvironment(); MigrateUserData(); - if (fXbmcHome.exists() && fXbmcHome.lastModified() >= fPackagePath.lastModified() && !mInstallLibs) { + if (mState != InError && fXbmcHome.exists() && fXbmcHome.lastModified() >= fPackagePath.lastModified() && !mInstallLibs) { mState = CachingDone; mCachingDone = true; } } - if (mCachingDone && mExternalStorageChecked) { + if (mState != InError && mCachingDone && mExternalStorageChecked) { startXBMC(); return; } @@ -656,7 +665,7 @@ public class Splash extends Activity { mTextView = (TextView) findViewById(R.id.textView1); if (mState == InError) { - showErrorDialog(this, "Error", mErrorMsg); + mStateMachine.sendEmptyMessage(InError); return; } diff --git a/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCSettingsContentObserver.java.in b/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCSettingsContentObserver.java.in new file mode 100644 index 0000000000..f5657c0aa1 --- /dev/null +++ b/tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCSettingsContentObserver.java.in @@ -0,0 +1,65 @@ +package org.xbmc.@APP_NAME_LC@; + +import android.content.Context; +import android.database.ContentObserver; +import android.media.AudioManager; +import android.net.Uri; +import android.os.Handler; +import android.util.Log; + +public class XBMCSettingsContentObserver extends ContentObserver +{ + native void _onVolumeChanged(int newVolume); + + private static final String TAG = "@APP_NAME_LC@"; + + int previousVolume; + Context context; + + public XBMCSettingsContentObserver(Context c, Handler handler) + { + super(handler); + context = c; + + AudioManager audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); + previousVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC); + } + + // Implement the onChange(boolean) method to delegate the change notification to + // the onChange(boolean, Uri) method to ensure correct operation on older versions + // of the framework that did not have the onChange(boolean, Uri) method. + @Override + public void onChange(boolean selfChange) + { + onChange(selfChange, null); + } + + // Implement the onChange(boolean, Uri) method to take advantage of the new Uri argument. + public void onChange(boolean selfChange, Uri uri) + { + super.onChange(selfChange); + + Log.d(TAG, "Setting changed: " + uri.toString()); + + if (uri.compareTo(Uri + .parse("content://settings/system/volume_music_speaker")) == 0) + { + AudioManager audio = (AudioManager) context + .getSystemService(Context.AUDIO_SERVICE); + int currentVolume = audio.getStreamVolume(AudioManager.STREAM_MUSIC); + + if (currentVolume != previousVolume) + { + try + { + _onVolumeChanged(currentVolume); + previousVolume = currentVolume; + } + catch (UnsatisfiedLinkError e) + { + Log.e("XBMCSettingsContentObserver", "Native not registered"); + } + } + } + } +} diff --git a/tools/buildsteps/android/package b/tools/buildsteps/android/package index 5501d35ded..cbbfb731c7 100644 --- a/tools/buildsteps/android/package +++ b/tools/buildsteps/android/package @@ -18,3 +18,4 @@ if [ -f *.obb ] then mv *.obb $UPLOAD_FILENAME.obb fi +mv tools/android/packaging/Kodi.symbols*.tar.bz2 $ANDROID_DEV_ROOT/debug-symbols/ diff --git a/tools/buildsteps/win32/run-tests.bat b/tools/buildsteps/win32/run-tests.bat index 1db6a50f2c..c8cdde4a37 100644 --- a/tools/buildsteps/win32/run-tests.bat +++ b/tools/buildsteps/win32/run-tests.bat @@ -68,9 +68,8 @@ ECHO Running testsuite... cd %WORKSPACE%\project\vs2010express\ set KODI_HOME=%WORKSPACE% set PATH=%WORKSPACE%\project\Win32BuildSetup\dependencies;%PATH% - rem exclude TestWebServer tests for now as those last 120 secs per test - rem not for some reason (maybe timeout?!? firewall?!? whatever...) - %EXE% --gtest_output=xml:%WORKSPACE%\gtestresults.xml --gtest_filter=-TestWebServer.* + + %EXE% --gtest_output=xml:%WORKSPACE%\gtestresults.xml rem Adapt gtest xml output to be conform with junit xml rem this basically looks for lines which have "notrun" in the <testcase /> tag diff --git a/tools/darwin/Configurations/App.xcconfig.in b/tools/darwin/Configurations/App.xcconfig.in index 703f252d6b..9a5216f922 100644 --- a/tools/darwin/Configurations/App.xcconfig.in +++ b/tools/darwin/Configurations/App.xcconfig.in @@ -22,7 +22,7 @@ XBMC_DEPENDS_ROOT = @DEPENDS_ROOT_FOR_XCODE@ HEADER_SEARCH_PATHS = $(inherited) $SRCROOT xbmc xbmc/linux xbmc/osx xbmc/cores/dvdplayer lib $XBMC_DEPENDS/include $XBMC_DEPENDS/include/libcec $XBMC_DEPENDS/include/mysql $XBMC_DEPENDS/include/freetype2 $XBMC_DEPENDS/include/python2.6 -LIBRARY_SEARCH_PATHS = $(inherited) $(SRCROOT) $(SRCROOT)/lib/libRTV $(SRCROOT)/lib/libXDAAP $(SRCROOT)/lib/SlingboxLib $(SRCROOT)/xbmc/interfaces/json-rpc "$(SRCROOT)/xbmc/interfaces/python" "$(SRCROOT)/xbmc/interfaces/legacy" +LIBRARY_SEARCH_PATHS = $(inherited) $(SRCROOT) $(SRCROOT)/lib/SlingboxLib $(SRCROOT)/xbmc/interfaces/json-rpc "$(SRCROOT)/xbmc/interfaces/python" "$(SRCROOT)/xbmc/interfaces/legacy" FRAMEWORK_SEARCH_PATHS = $(inherited) "$(SDKROOT)/System/Library/PrivateFrameworks/" "$(SDKROOT)/System/Library/Frameworks/" XBMC_OTHER_LDFLAGS_COMMON = $(inherited) -Wl,-headerpad_max_install_names -Wl,-all_load -L$XBMC_DEPENDS/lib -lbz2 -lintl -lexpat -lssl -lgpg-error -lresolv -lffi -lssh -llzo2 -lpcre -lpcrecpp -lfribidi -lfreetype -lfontconfig -lsqlite3 -ltinyxml -lmicrohttpd -lsmbclient -lpython2.6 -lyajl -ljpeg -lcrypto -lgcrypt -lavdevice -lavfilter -lavcodec -lavformat -lpostproc -lavutil -lswresample -lswscale -ltag -L$XBMC_DEPENDS/lib/mysql -lmysqlclient -lxml2 -lxslt -lnettle -lgmp -lhogweed -lgnutls -lsquish diff --git a/tools/depends/README b/tools/depends/README index 50d32679ec..1db6a04494 100644 --- a/tools/depends/README +++ b/tools/depends/README @@ -14,9 +14,9 @@ IOS: Android (the pathes are examples and have to match those of docs/READM.android): arm: - ./configure --with-tarballs=/opt/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/opt/android-sdk-linux --with-ndk=/opt/android-ndk-r10d --with-toolchain=/opt/arm-linux-androideabi-4.8-vanilla/android-14 --prefix=/opt/xbmc-depends + ./configure --with-tarballs=/opt/xbmc-tarballs --host=arm-linux-androideabi --with-sdk-path=/opt/android-sdk-linux --with-ndk=/opt/android-ndk-r10d --with-toolchain=/opt/arm-linux-androideabi-4.8-vanilla/android-17 --prefix=/opt/xbmc-depends x86: - ./configure --with-tarballs=/opt/xbmc-tarballs --host=i686-linux-android --with-sdk-path=/opt/android-sdk-linux --with-ndk=/opt/android-ndk-r10d --with-toolchain=/opt/x86-linux-4.8-vanilla/android-14 --prefix=/opt/xbmc-depends + ./configure --with-tarballs=/opt/xbmc-tarballs --host=i686-linux-android --with-sdk-path=/opt/android-sdk-linux --with-ndk=/opt/android-ndk-r10d --with-toolchain=/opt/x86-linux-4.8-vanilla/android-17 --prefix=/opt/xbmc-depends diff --git a/tools/depends/configure.ac b/tools/depends/configure.ac index f21af0bad8..9435fca7d1 100644 --- a/tools/depends/configure.ac +++ b/tools/depends/configure.ac @@ -46,13 +46,14 @@ AC_ARG_WITH([sdk-path], AC_ARG_WITH([sdk], [AS_HELP_STRING([--with-sdk], - [spcify sdk platform version (optional for android). default is android-14])], + [spcify sdk platform version (optional for android). default is android-17])], [use_sdk=$withval]) AC_ARG_ENABLE([gplv3], [AS_HELP_STRING([--enable-gplv3], - [enable gplv3 components. default off for android, on everywhere else])], - [use_gplv3=1], [use_gplv3=auto]) + [enable gplv3 components. default is yes])], + [use_gplv3=$enableval], + [use_gplv3=yes]) AC_CHECK_PROG(HAVE_UNZIP,unzip,"yes","no",) @@ -128,12 +129,9 @@ case $host in platform_cxxflags="$platform_cflags -frtti" platform_includes="-I$prefix/$deps_dir/include/$use_sdk" platform_os="android" - if test "x$use_gplv3" = "xauto"; then - use_gplv3=0 - fi #android builds are always cross cross_compiling="yes" - ;; + ;; i*86*-linux-android*) if test "x$use_cpu" = "xauto"; then use_cpu=$host_cpu @@ -145,9 +143,6 @@ case $host in platform_cxxflags="$platform_cflags -frtti" platform_includes="-I$prefix/$deps_dir/include/$use_sdk" platform_os="android" - if test "x$use_gplv3" = "xauto"; then - use_gplv3=0 - fi #android builds are always cross cross_compiling="yes" ;; @@ -381,10 +376,6 @@ AC_SEARCH_LIBS([iconv_open],iconv, link_iconv=$ac_cv_search_iconv_open, link_ico AC_TRY_LINK([#include <locale.h>],[struct lconv* test=localeconv();], has_localeconv=yes, AC_MSG_WARN("No localeconv support in toolchain. Using replacement."); has_localeconv=no) AC_CHECK_LIB([crystax], [main], has_libcrystax=1, has_libcrystax=0) -if test "x$use_gplv3" = "xauto"; then - use_gplv3=1 -fi - if test "$link_iconv" = "none required"; then link_iconv= fi diff --git a/tools/depends/native/Makefile b/tools/depends/native/Makefile index 9b42c196d2..1538ed9600 100644 --- a/tools/depends/native/Makefile +++ b/tools/depends/native/Makefile @@ -9,7 +9,8 @@ NATIVE= m4-native gettext-native autoconf-native automake-native \ gas-preprocessor-native python26-native zlib-native \ pcre-native swig-native rpl-native libsdl_image-native libsquish-native \ tiff-native libpng-native libjpeg-turbo-native liblzo2-native giflib-native \ - libsdl-native distribute-native distutilscross-native JsonSchemaBuilder TexturePacker + libsdl-native distribute-native distutilscross-native JsonSchemaBuilder TexturePacker \ + google-breakpad-native ifeq ($(OS),ios) diff --git a/tools/depends/native/google-breakpad-native/Makefile b/tools/depends/native/google-breakpad-native/Makefile new file mode 100644 index 0000000000..282f1f5edd --- /dev/null +++ b/tools/depends/native/google-breakpad-native/Makefile @@ -0,0 +1,45 @@ +include ../../Makefile.include +DEPS= ../../Makefile.include Makefile + +PREFIX=$(NATIVEPREFIX) +PLATFORM=$(NATIVEPLATFORM) + +# lib name, version +LIBNAME=google-breakpad +VERSION=1434 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2 + +LIBDYLIB=$(PLATFORM)/src/client/linux/libbreakpad_client.a + +# configuration settings +CONFIGURE= ./configure --prefix=$(PREFIX) + +CLEAN_FILES=$(ARCHIVE) $(PLATFORM) + +all: .installed-$(PLATFORM) + +$(TARBALLS_LOCATION)/$(ARCHIVE): + cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(CONFIGURE) + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM) + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM) install + cp -Rf $(PLATFORM)/src/common/android/include/* $(PREFIX)/include/breakpad/ + mkdir -p $(PREFIX)/include/breakpad/client/linux/dump_writer_common + cp -f $(PLATFORM)/src/client/linux/dump_writer_common/*.h $(PREFIX)/include/breakpad/client/linux/dump_writer_common/ + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) + diff --git a/tools/depends/target/Makefile b/tools/depends/target/Makefile index 4cb3dcf09b..56444f991c 100644 --- a/tools/depends/target/Makefile +++ b/tools/depends/target/Makefile @@ -19,7 +19,7 @@ DEPENDS = \ FFMPEG_DEPENDS = gnutls -ifeq ($(ENABLE_GPLV3),1) +ifeq ($(ENABLE_GPLV3),yes) DEPENDS+=samba-gplv3 libcdio-gplv3 else DEPENDS+=samba libcdio @@ -36,7 +36,7 @@ ifeq ($(OS),osx) endif ifeq ($(OS),android) - DEPENDS += mdnsresponder android-sources-ics + DEPENDS += mdnsresponder android-sources-ics google-breakpad endif DEPENDS := $(filter-out $(EXCLUDED_DEPENDS),$(DEPENDS)) diff --git a/tools/depends/target/config.site.in b/tools/depends/target/config.site.in index 677f5656a1..5f1d1c7c7d 100644 --- a/tools/depends/target/config.site.in +++ b/tools/depends/target/config.site.in @@ -115,6 +115,11 @@ if test "@platform_os@" = "android"; then SMB_BUILD_CC_NEGATIVE_ENUM_VALUES=yes libreplace_cv_READDIR_GETDIRENTRIES=no libreplace_cv_READDIR_GETDENTS=no + libreplace_cv_HAVE_IFACE_IFCONF=yes + libreplace_cv_HAVE_MMAP=yes + libreplace_cv_HAVE_GETTIMEOFDAY_TZ=yes + libreplace_cv_HAVE_SECURE_MKSTEMP=yes + samba_cv_REPLACE_READDIR=no samba_cv_HAVE_WRFILE_KEYTAB=yes samba_cv_HAVE_GETTIMEOFDAY_TZ=yes diff --git a/tools/depends/target/ffmpeg/FFMPEG-VERSION b/tools/depends/target/ffmpeg/FFMPEG-VERSION index ec0a9e6d3b..bcb32365ce 100644 --- a/tools/depends/target/ffmpeg/FFMPEG-VERSION +++ b/tools/depends/target/ffmpeg/FFMPEG-VERSION @@ -1,5 +1,5 @@ LIBNAME=ffmpeg BASE_URL=https://github.com/xbmc/FFmpeg/archive -VERSION=2.6.0-fix-Isengard-alpha +VERSION=2.6.2-Isengard-alpha ARCHIVE=$(LIBNAME)-$(VERSION).tar.gz diff --git a/tools/depends/target/fontconfig/01-fontconfig-cross-compile-fix.patch b/tools/depends/target/fontconfig/01-fontconfig-cross-compile-fix.patch deleted file mode 100644 index 334cbbaf81..0000000000 --- a/tools/depends/target/fontconfig/01-fontconfig-cross-compile-fix.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -Naur fontconfig-2.6.0.orig/doc/Makefile.am fontconfig-2.6.0/doc/Makefile.am ---- fontconfig-2.6.0.orig/doc/Makefile.am 2007-11-06 01:05:37.000000000 +0100 -+++ fontconfig-2.6.0/doc/Makefile.am 2010-05-22 00:03:00.000000000 +0200 -@@ -21,9 +21,10 @@ - # TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR - # PERFORMANCE OF THIS SOFTWARE. - --CC = @CC_FOR_BUILD@ - EXEEXT = @EXEEXT_FOR_BUILD@ --LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+COMPILE = $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) -+LINK = $(CC_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ - - DOC_SRC = $(srcdir) - DOC_MODULE = fontconfig -diff -Naur fontconfig-2.6.0.orig/fc-arch/Makefile.am fontconfig-2.6.0/fc-arch/Makefile.am ---- fontconfig-2.6.0.orig/fc-arch/Makefile.am 2008-01-02 17:44:39.000000000 +0100 -+++ fontconfig-2.6.0/fc-arch/Makefile.am 2010-05-21 23:59:18.000000000 +0200 -@@ -22,9 +22,10 @@ - # PERFORMANCE OF THIS SOFTWARE. - # - --CC = @CC_FOR_BUILD@ - EXEEXT = @EXEEXT_FOR_BUILD@ --LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+COMPILE = $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) -+LINK = $(CC_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ - - INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS) - -diff -Naur fontconfig-2.6.0.orig/fc-case/Makefile.am fontconfig-2.6.0/fc-case/Makefile.am ---- fontconfig-2.6.0.orig/fc-case/Makefile.am 2010-05-21 23:55:02.000000000 +0200 -+++ fontconfig-2.6.0/fc-case/Makefile.am 2010-05-22 00:04:09.000000000 +0200 -@@ -22,9 +22,10 @@ - # PERFORMANCE OF THIS SOFTWARE. - # - --CC = @CC_FOR_BUILD@ - EXEEXT = @EXEEXT_FOR_BUILD@ --LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+COMPILE = $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) -+LINK = $(CC_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ - - INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS) - -diff -Naur fontconfig-2.6.0.orig/fc-glyphname/Makefile.am fontconfig-2.6.0/fc-glyphname/Makefile.am ---- fontconfig-2.6.0.orig/fc-glyphname/Makefile.am 2008-01-02 17:44:39.000000000 +0100 -+++ fontconfig-2.6.0/fc-glyphname/Makefile.am 2010-05-22 00:04:54.000000000 +0200 -@@ -22,9 +22,10 @@ - # PERFORMANCE OF THIS SOFTWARE. - # - --CC = @CC_FOR_BUILD@ - EXEEXT = @EXEEXT_FOR_BUILD@ --LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+COMPILE = $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) -+LINK = $(CC_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ - - INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS) - -diff -Naur fontconfig-2.6.0.orig/fc-lang/Makefile.am fontconfig-2.6.0/fc-lang/Makefile.am ---- fontconfig-2.6.0.orig/fc-lang/Makefile.am 2008-01-02 17:44:39.000000000 +0100 -+++ fontconfig-2.6.0/fc-lang/Makefile.am 2010-05-22 00:05:44.000000000 +0200 -@@ -22,9 +22,10 @@ - # PERFORMANCE OF THIS SOFTWARE. - # - --CC = @CC_FOR_BUILD@ - EXEEXT = @EXEEXT_FOR_BUILD@ --LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+COMPILE = $(CC_FOR_BUILD) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) -+LINK = $(CC_FOR_BUILD) $(AM_CFLAGS) $(CFLAGS_FOR_BUILD) $(AM_LDFLAGS) $(LDFLAGS_FOR_BUILD) -o $@ - - INCLUDES=-I${top_srcdir}/src -I${top_srcdir} $(WARN_CFLAGS) - diff --git a/tools/depends/target/fontconfig/Makefile b/tools/depends/target/fontconfig/Makefile index 9dea160790..b97e51cd95 100644 --- a/tools/depends/target/fontconfig/Makefile +++ b/tools/depends/target/fontconfig/Makefile @@ -1,11 +1,11 @@ include ../../Makefile.include -DEPS= ../../Makefile.include 01-fontconfig-cross-compile-fix.patch lconv.patch Makefile +DEPS= ../../Makefile.include lconv.patch Makefile # lib name, version LIBNAME=fontconfig -VERSION=2.8.0 +VERSION=2.11.1 SOURCE=$(LIBNAME)-$(VERSION) -ARCHIVE=$(SOURCE).tar.gz +ARCHIVE=$(SOURCE).tar.bz2 # configuration settings CONFIGURE=./configure --prefix=$(PREFIX) \ @@ -24,7 +24,6 @@ $(TARBALLS_LOCATION)/$(ARCHIVE): $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) - cd $(PLATFORM); patch -p1 < ../01-fontconfig-cross-compile-fix.patch cd $(PLATFORM); patch -p1 < ../lconv.patch cd $(PLATFORM); $(AUTORECONF) -vif cd $(PLATFORM); $(CONFIGURE) diff --git a/tools/depends/target/google-breakpad/Makefile b/tools/depends/target/google-breakpad/Makefile new file mode 100644 index 0000000000..e9b140c799 --- /dev/null +++ b/tools/depends/target/google-breakpad/Makefile @@ -0,0 +1,43 @@ +include ../../Makefile.include +DEPS= ../../Makefile.include Makefile + +# lib name, version +LIBNAME=google-breakpad +VERSION=1434 +ARCHIVE=$(LIBNAME)-$(VERSION).tar.bz2 + +LIBDYLIB=$(PLATFORM)/src/client/linux/libbreakpad_client.a + +# configuration settings +CONFIGURE= ./configure --prefix=$(PREFIX) \ + --disable-processor --disable-tools + +CLEAN_FILES=$(ARCHIVE) $(PLATFORM) + +all: .installed-$(PLATFORM) + +$(TARBALLS_LOCATION)/$(ARCHIVE): + cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) + +$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) + rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) + cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); $(CONFIGURE) + +$(LIBDYLIB): $(PLATFORM) + $(MAKE) -C $(PLATFORM) + +.installed-$(PLATFORM): $(LIBDYLIB) + $(MAKE) -C $(PLATFORM) install + cp -Rf $(PLATFORM)/src/common/android/include/* $(PREFIX)/include/breakpad/ + mkdir -p $(PREFIX)/include/breakpad/client/linux/dump_writer_common + cp -f $(PLATFORM)/src/client/linux/dump_writer_common/*.h $(PREFIX)/include/breakpad/client/linux/dump_writer_common/ + touch $@ + +clean: + $(MAKE) -C $(PLATFORM) clean + rm -f .installed-$(PLATFORM) + +distclean:: + rm -rf $(PLATFORM) .installed-$(PLATFORM) + diff --git a/tools/depends/target/libass/Makefile b/tools/depends/target/libass/Makefile index 8df2cecc1f..5fba256894 100644 --- a/tools/depends/target/libass/Makefile +++ b/tools/depends/target/libass/Makefile @@ -3,7 +3,7 @@ DEPS= ../../Makefile.include Makefile # lib name, version LIBNAME=libass -VERSION=0.10.1 +VERSION=0.12.1 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz @@ -31,9 +31,9 @@ $(LIBDYLIB): $(PLATFORM) .installed-$(PLATFORM): $(LIBDYLIB) $(MAKE) -C $(PLATFORM) install ifeq ($(OS),android) - rm -f $(PREFIX)/lib/libass.la $(PREFIX)/lib/libass.so $(PREFIX)/lib/libass.so.4 - mv -f $(PREFIX)/lib/libass.so.4.1.0 $(PREFIX)/lib/libass.so - $(RPL) -e "libass.so.4" "libass.so\x00\x00" $(PREFIX)/lib/libass.so + rm -f $(PREFIX)/lib/libass.la $(PREFIX)/lib/libass.so $(PREFIX)/lib/libass.so.5 + mv -f $(PREFIX)/lib/libass.so.5.1.0 $(PREFIX)/lib/libass.so + $(RPL) -e "libass.so.5" "libass.so\x00\x00" $(PREFIX)/lib/libass.so -$(READELF) --dynamic $(PREFIX)/lib/libass.so | grep ibrary endif touch $@ diff --git a/tools/depends/target/libffi/Makefile b/tools/depends/target/libffi/Makefile index 3a4ed476a3..fa4ee815bf 100644 --- a/tools/depends/target/libffi/Makefile +++ b/tools/depends/target/libffi/Makefile @@ -10,7 +10,7 @@ ARCHIVE=$(SOURCE).tar.gz # configuration settings CONFIGURE= ./configure --prefix=$(PREFIX) --disable-shared --disable-builddir ifeq ($(OS), ios) -CONFIGURE+=CFLAGS=-no-integrated-as +CONFIGURE+=CCASFLAGS=-no-integrated-as endif diff --git a/tools/depends/target/libmicrohttpd/Makefile b/tools/depends/target/libmicrohttpd/Makefile index 3eb6dbf304..d00d2bad9f 100644 --- a/tools/depends/target/libmicrohttpd/Makefile +++ b/tools/depends/target/libmicrohttpd/Makefile @@ -3,7 +3,7 @@ DEPS= ../../Makefile.include Makefile # lib name, version LIBNAME=libmicrohttpd -VERSION=svn-35383 +VERSION=svn-35533 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz diff --git a/tools/depends/target/nettle/01-disable_testsuite.patch b/tools/depends/target/nettle/01-disable_testsuite.patch new file mode 100644 index 0000000000..97b1d47f97 --- /dev/null +++ b/tools/depends/target/nettle/01-disable_testsuite.patch @@ -0,0 +1,11 @@ +--- Makefile.in.orig 2015-04-11 15:11:40.000000000 +0200 ++++ Makefile.in 2015-04-11 15:11:47.000000000 +0200 +@@ -16,7 +16,7 @@ + + OPT_ASM_SOURCES = @OPT_ASM_SOURCES@ + +-SUBDIRS = tools testsuite examples ++SUBDIRS = tools examples + + include config.make + diff --git a/tools/depends/target/nettle/Makefile b/tools/depends/target/nettle/Makefile index df823eacf2..ff6e12023e 100644 --- a/tools/depends/target/nettle/Makefile +++ b/tools/depends/target/nettle/Makefile @@ -29,6 +29,7 @@ $(TARBALLS_LOCATION)/$(ARCHIVE): $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) + cd $(PLATFORM); patch -p0 < ../01-disable_testsuite.patch cd $(PLATFORM); $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) diff --git a/tools/depends/target/samba-gplv3/Makefile b/tools/depends/target/samba-gplv3/Makefile index fe209fd362..19e4c808e0 100644 --- a/tools/depends/target/samba-gplv3/Makefile +++ b/tools/depends/target/samba-gplv3/Makefile @@ -1,18 +1,31 @@ include ../../Makefile.include -DEPS= ../../Makefile.include Makefile +DEPS= ../../Makefile.include Makefile samba_android.patch # lib name, version LIBNAME=samba VERSION=3.6.12 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz + CONFIGURE= cp -f $(CONFIG_SUB) $(CONFIG_GUESS) .; \ ./configure --prefix=$(PREFIX) \ --without-cluster-support --disable-swat --without-ldap \ --without-pam --without-pam_smbpass --with-fhs --with-libtalloc=no \ --with-libtdb=no --without-winbind --disable-cups --without-ads \ --disable-avahi --disable-fam --without-libaddns --without-libnetapi \ - --without-dnsupdate --without-libsmbsharemodes + --without-dnsupdate --without-libsmbsharemodes \ + --with-libiconv=$(STAGING_DIR) + +# configuration settings +# android does not really support LFS but we can force it +# in libsmbclient by defining off_t to off64_t and changing +# libsmbclient.h to match. Defining _OFF_T_DEFINED_ allows +# us to change the typedef of off_t in android's sys/type.h. +# Then xbmc will correctly access smb shares with LFS enabled +# using the altered libsmbclient.h. +ifeq ($(OS),android) +export CFLAGS+=-D_FILE_OFFSET_BITS=64 -D_OFF_T_DEFINED_ -Doff_t=off64_t -Dlseek=lseek64 +endif LIBDYLIB=$(PLATFORM)/source3/bin/libsmbclient.a @@ -26,6 +39,9 @@ $(TARBALLS_LOCATION)/$(ARCHIVE): $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) rm -rf $(PLATFORM); mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) +ifeq ($(OS),android) + cd $(PLATFORM); patch -p0 < ../samba_android.patch +endif cd $(PLATFORM)/source3; $(CONFIGURE) $(LIBDYLIB): $(PLATFORM) @@ -36,6 +52,12 @@ $(LIBDYLIB): $(PLATFORM) ifeq (darwin, $(findstring darwin, $(HOST))) install_name_tool -id $(PREFIX)/lib/libsmbclient.dylib.0 $(PREFIX)/lib/libsmbclient.dylib.0 endif +ifeq ($(OS),android) + rm -f $(PREFIX)/lib/libsmbclient.so + mv -f $(PREFIX)/lib/libsmbclient.so.0 $(PREFIX)/lib/libsmbclient.so + $(RPL) -e "libsmbclient.so.0" "libsmbclient.so\x00\x00" $(PREFIX)/lib/libsmbclient.so + -$(READELF) --dynamic $(PREFIX)/lib/libsmbclient.so | grep ibrary +endif touch $@ clean: diff --git a/tools/depends/target/samba-gplv3/samba_android.patch b/tools/depends/target/samba-gplv3/samba_android.patch new file mode 100644 index 0000000000..a3e25dc64a --- /dev/null +++ b/tools/depends/target/samba-gplv3/samba_android.patch @@ -0,0 +1,372 @@ +diff -ru lib/util/charset/iconv.c lib/util/charset/iconv.c +--- lib/util/charset/iconv.c 2013-01-29 09:49:31.000000000 +0100 ++++ lib/util/charset/iconv.c 2015-03-28 08:30:53.191217266 +0100 +@@ -23,6 +23,11 @@ + #include "system/iconv.h" + #include "system/filesys.h" + ++#if defined(ANDROID) ++#include <stdint.h> ++#include <asm/byteorder.h> ++#endif ++ + #ifdef strcasecmp + #undef strcasecmp + #endif +@@ -502,6 +507,19 @@ + return 0; + } + ++#if defined(ANDROID) ++void swab(const void *from, void*to, ssize_t n) ++{ ++ ssize_t i; ++ ++ if (n < 0) ++ return; ++ ++ for (i = 0; i < (n/2)*2; i += 2) ++ *((uint16_t*)to+i) = __arch__swab16(*((uint16_t*)from+i)); ++} ++#endif ++ + static size_t iconv_swab(void *cd, const char **inbuf, size_t *inbytesleft, + char **outbuf, size_t *outbytesleft) + { +diff -ru lib/util/system.c lib/util/system.c +--- lib/util/system.c 2013-01-29 09:49:31.000000000 +0100 ++++ lib/util/system.c 2015-03-28 08:30:53.843217274 +0100 +@@ -83,7 +83,9 @@ + { + struct in_addr in; + struct in_addr in2; ++#if !defined(ANDROID) + in = inet_makeaddr(net, host); ++#endif + in2.s_addr = in.s_addr; + return in2; + } +diff -ru lib/util/util_pw.c lib/util/util_pw.c +--- lib/util/util_pw.c 2013-01-29 09:49:31.000000000 +0100 ++++ lib/util/util_pw.c 2015-03-28 08:30:53.843217274 +0100 +@@ -34,17 +34,25 @@ + + void sys_setpwent(void) + { ++#if !defined(ANDROID) + setpwent(); ++#endif + } + + struct passwd *sys_getpwent(void) + { ++#if !defined(ANDROID) + return getpwent(); ++#else ++ return NULL; ++#endif + } + + void sys_endpwent(void) + { ++#if !defined(ANDROID) + endpwent(); ++#endif + } + + /************************************************************************** +@@ -83,7 +91,9 @@ + ret->pw_passwd = talloc_strdup(ret, from->pw_passwd); + ret->pw_uid = from->pw_uid; + ret->pw_gid = from->pw_gid; ++#if !defined(ANDROID) + ret->pw_gecos = talloc_strdup(ret, from->pw_gecos); ++#endif + ret->pw_dir = talloc_strdup(ret, from->pw_dir); + ret->pw_shell = talloc_strdup(ret, from->pw_shell); + +diff -ru nsswitch/libwbclient/wbc_pwd.c nsswitch/libwbclient/wbc_pwd.c +--- nsswitch/libwbclient/wbc_pwd.c 2013-01-29 09:49:31.000000000 +0100 ++++ nsswitch/libwbclient/wbc_pwd.c 2015-03-28 08:30:53.847217275 +0100 +@@ -45,7 +45,9 @@ + struct passwd *pw = (struct passwd *)ptr; + free(pw->pw_name); + free(pw->pw_passwd); ++#if !defined(ANDROID) + free(pw->pw_gecos); ++#endif + free(pw->pw_shell); + free(pw->pw_dir); + } +@@ -67,10 +69,12 @@ + if (pw->pw_passwd == NULL) { + goto fail; + } ++#if !defined(ANDROID) + pw->pw_gecos = strdup(p->pw_gecos); + if (pw->pw_gecos == NULL) { + goto fail; + } ++#endif + pw->pw_shell = strdup(p->pw_shell); + if (pw->pw_shell == NULL) { + goto fail; +diff -ru nsswitch/libwbclient/wbc_sid.c nsswitch/libwbclient/wbc_sid.c +--- nsswitch/libwbclient/wbc_sid.c 2013-01-29 09:49:31.000000000 +0100 ++++ nsswitch/libwbclient/wbc_sid.c 2015-03-28 08:30:53.847217275 +0100 +@@ -950,9 +950,11 @@ + + wbcFreeMemory(name); + ++#if !defined(ANDROID) + name = wbcStrDup(pwd->pw_gecos); + wbcFreeMemory(pwd); + BAIL_ON_PTR_ERROR(name, wbc_status); ++#endif + } + + wbc_status = WBC_ERR_SUCCESS; +diff -ru source3/configure source3/configure +--- source3/configure 2013-01-29 10:21:59.000000000 +0100 ++++ source3/configure 2015-03-28 08:43:34.903227582 +0100 +@@ -36540,19 +36540,19 @@ + if test "x$ac_cv_lib_pthread_pthread_attr_init" = xyes; then : + + PTHREAD_CFLAGS="-D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS" +- PTHREAD_LDFLAGS="-lpthread" ++ PTHREAD_LDFLAGS="" + fi + + fi + + if test "x$PTHREAD_LDFLAGS" = xerror; then +- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_attr_init in -lpthreads" >&5 +-$as_echo_n "checking for pthread_attr_init in -lpthreads... " >&6; } ++ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_attr_init in " >&5 ++$as_echo_n "checking for pthread_attr_init in ... " >&6; } + if ${ac_cv_lib_pthreads_pthread_attr_init+:} false; then : + $as_echo_n "(cached) " >&6 + else + ac_check_lib_save_LIBS=$LIBS +-LIBS="-lpthreads $LIBS" ++LIBS=" $LIBS" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + +@@ -36585,7 +36585,7 @@ + if test "x$ac_cv_lib_pthreads_pthread_attr_init" = xyes; then : + + PTHREAD_CFLAGS="-D_THREAD_SAFE" +- PTHREAD_LDFLAGS="-lpthreads" ++ PTHREAD_LDFLAGS="" + fi + + fi +diff -ru source3/include/libsmbclient.h source3/include/libsmbclient.h +--- source3/include/libsmbclient.h 2013-01-29 09:49:31.000000000 +0100 ++++ source3/include/libsmbclient.h 2015-03-28 08:30:53.847217275 +0100 +@@ -75,7 +75,13 @@ + /* Make sure we have the following includes for now ... */ + #include <sys/types.h> + #include <sys/stat.h> ++#if !defined(ANDROID) + #include <sys/statvfs.h> ++#else ++#include <sys/vfs.h> ++#define statvfs statfs ++#define fstatvfs fstatfs ++#endif + #include <fcntl.h> + #include <utime.h> + +@@ -862,9 +868,9 @@ + smbc_rename_fn smbc_getFunctionRename(SMBCCTX *c); + void smbc_setFunctionRename(SMBCCTX *c, smbc_rename_fn fn); + +-typedef off_t (*smbc_lseek_fn)(SMBCCTX *c, ++typedef off64_t (*smbc_lseek_fn)(SMBCCTX *c, + SMBCFILE * file, +- off_t offset, ++ off64_t offset, + int whence); + smbc_lseek_fn smbc_getFunctionLseek(SMBCCTX *c); + void smbc_setFunctionLseek(SMBCCTX *c, smbc_lseek_fn fn); +@@ -895,7 +901,7 @@ + + typedef int (*smbc_ftruncate_fn)(SMBCCTX *c, + SMBCFILE *f, +- off_t size); ++ off64_t size); + smbc_ftruncate_fn smbc_getFunctionFtruncate(SMBCCTX *c); + void smbc_setFunctionFtruncate(SMBCCTX *c, smbc_ftruncate_fn fn); + +@@ -945,14 +951,14 @@ + smbc_rmdir_fn smbc_getFunctionRmdir(SMBCCTX *c); + void smbc_setFunctionRmdir(SMBCCTX *c, smbc_rmdir_fn fn); + +-typedef off_t (*smbc_telldir_fn)(SMBCCTX *c, ++typedef off64_t (*smbc_telldir_fn)(SMBCCTX *c, + SMBCFILE *dir); + smbc_telldir_fn smbc_getFunctionTelldir(SMBCCTX *c); + void smbc_setFunctionTelldir(SMBCCTX *c, smbc_telldir_fn fn); + + typedef int (*smbc_lseekdir_fn)(SMBCCTX *c, + SMBCFILE *dir, +- off_t offset); ++ off64_t offset); + smbc_lseekdir_fn smbc_getFunctionLseekdir(SMBCCTX *c); + void smbc_setFunctionLseekdir(SMBCCTX *c, smbc_lseekdir_fn fn); + +@@ -1324,7 +1330,7 @@ + * @return Upon successful completion, lseek returns the + * resulting offset location as measured in bytes + * from the beginning of the file. Otherwise, a value +- * of (off_t)-1 is returned and errno is set to ++ * of (off64_t)-1 is returned and errno is set to + * indicate the error: + * - EBADF Fildes is not an open file descriptor. + * - EINVAL Whence is not a proper value or smbc_init +@@ -1334,7 +1340,7 @@ + * + * @todo Are errno values complete and correct? + */ +-off_t smbc_lseek(int fd, off_t offset, int whence); ++off64_t smbc_lseek(int fd, off64_t offset, int whence); + + + /**@ingroup file +@@ -1518,7 +1524,7 @@ + * @see smbc_readdir() + * + */ +-off_t smbc_telldir(int dh); ++off64_t smbc_telldir(int dh); + + + /**@ingroup directory +@@ -1543,7 +1549,7 @@ + * + * @todo In what does the reture and errno values mean? + */ +-int smbc_lseekdir(int fd, off_t offset); ++int smbc_lseekdir(int fd, off64_t offset); + + /**@ingroup directory + * Create a directory. +@@ -1700,7 +1706,7 @@ + * @see , Unix ftruncate() + * + */ +-int smbc_ftruncate(int fd, off_t size); ++int smbc_ftruncate(int fd, off64_t size); + + + /**@ingroup attribute +diff -ru source3/lib/fault.c source3/lib/fault.c +--- source3/lib/fault.c 2013-01-29 09:49:31.000000000 +0100 ++++ source3/lib/fault.c 2015-03-28 08:30:54.539217284 +0100 +@@ -375,7 +375,7 @@ + umask(~(0700)); + dbgflush(); + +-#if defined(HAVE_PRCTL) && defined(PR_SET_DUMPABLE) ++#if defined(HAVE_PRCTL) && defined(PR_SET_DUMPABLE) && !defined(ANDROID) + /* On Linux we lose the ability to dump core when we change our user + * ID. We know how to dump core safely, so let's make sure we have our + * dumpable flag set. +diff -ru source3/lib/system.c source3/lib/system.c +--- source3/lib/system.c 2013-01-29 09:49:31.000000000 +0100 ++++ source3/lib/system.c 2015-03-28 08:30:54.543217284 +0100 +@@ -921,8 +921,11 @@ + #if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_SEEKDIR64) + seekdir64(dirp, offset); + #else ++#if !defined(ANDROID) + seekdir(dirp, offset); + #endif ++ return; ++#endif + } + + /******************************************************************* +@@ -934,7 +937,11 @@ + #if defined(HAVE_EXPLICIT_LARGEFILE_SUPPORT) && defined(HAVE_TELLDIR64) + return (long)telldir64(dirp); + #else ++#if !defined(ANDROID) + return (long)telldir(dirp); ++#else ++ return(0); ++#endif + #endif + } + +diff -ru source3/libads/dns.c source3/libads/dns.c +--- source3/libads/dns.c 2013-01-29 09:49:31.000000000 +0100 ++++ source3/libads/dns.c 2015-03-28 08:30:54.543217284 +0100 +@@ -40,6 +40,16 @@ + + #define MAX_DNS_PACKET_SIZE 0xffff + ++#if defined(ANDROID) ++# define NS_HFIXEDSZ 12 ++# define C_IN 1 ++# define T_A 1 ++# define ns_t_srv 33 ++# define ns_t_aaaa 28 ++# define NS_PACKETSZ 512 ++# define T_NS 2 ++#endif ++ + #ifdef NS_HFIXEDSZ /* Bind 8/9 interface */ + #if !defined(C_IN) /* AIX 5.3 already defines C_IN */ + # define C_IN ns_c_in +diff -ru source3/passdb/passdb.c source3/passdb/passdb.c +--- source3/passdb/passdb.c 2013-01-29 09:49:31.000000000 +0100 ++++ source3/passdb/passdb.c 2015-03-28 08:30:54.543217284 +0100 +@@ -163,6 +163,7 @@ + + fullname = NULL; + ++#if !defined(ANDROID) + if (count_commas(pwd->pw_gecos) == 3) { + /* + * Heuristic: This seems to be a gecos field that has been +@@ -173,11 +174,14 @@ + talloc_tos(), pwd->pw_gecos, + strchr(pwd->pw_gecos, ',') - pwd->pw_gecos); + } ++#endif + + if (fullname != NULL) { + pdb_set_fullname(user, fullname, PDB_SET); ++#if !defined(ANDROID) + } else { + pdb_set_fullname(user, pwd->pw_gecos, PDB_SET); ++#endif + } + TALLOC_FREE(fullname); + +diff -ru source3/passdb/pdb_interface.c source3/passdb/pdb_interface.c +--- source3/passdb/pdb_interface.c 2013-01-29 09:49:31.000000000 +0100 ++++ source3/passdb/pdb_interface.c 2015-03-28 08:30:54.547217284 +0100 +@@ -1464,8 +1464,8 @@ + } + + /* Primary group members */ +- setpwent(); +- while ((pwd = getpwent()) != NULL) { ++ sys_setpwent(); ++ while ((pwd = sys_getpwent()) != NULL) { + if (pwd->pw_gid == gid) { + if (!add_uid_to_array_unique(mem_ctx, pwd->pw_uid, + pp_uids, p_num)) { +@@ -1473,7 +1473,7 @@ + } + } + } +- endpwent(); ++ sys_endpwent(); + + /* Secondary group members */ + for (gr = grp->gr_mem; (*gr != NULL) && ((*gr)[0] != '\0'); gr += 1) { diff --git a/tools/depends/target/xbmc/Makefile b/tools/depends/target/xbmc/Makefile index 9b0263913d..2371fd0213 100644 --- a/tools/depends/target/xbmc/Makefile +++ b/tools/depends/target/xbmc/Makefile @@ -13,7 +13,7 @@ CONFIGURE = cp -f $(CONFIG_SUB) $(CONFIG_GUESS) build-aux/ ;\ ./configure --prefix=$(PREFIX) $(DEBUG) ifeq ($(OS),android) -CONFIGURE += --enable-codec=libstagefright,amcodec +CONFIGURE += --enable-codec=libstagefright,amcodec --enable-breakpad endif ifeq ($(Configuration),Release) |