aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/android/packaging/Makefile.in15
-rw-r--r--tools/android/packaging/make_symbols.sh6
-rw-r--r--tools/android/packaging/xbmc/src/org/xbmc/kodi/Main.java.in14
-rw-r--r--tools/android/packaging/xbmc/src/org/xbmc/kodi/Splash.java.in27
-rw-r--r--tools/android/packaging/xbmc/src/org/xbmc/kodi/XBMCSettingsContentObserver.java.in65
-rw-r--r--tools/buildsteps/android/package1
-rw-r--r--tools/buildsteps/win32/run-tests.bat5
-rw-r--r--tools/darwin/Configurations/App.xcconfig.in2
-rw-r--r--tools/depends/README4
-rw-r--r--tools/depends/configure.ac19
-rw-r--r--tools/depends/native/Makefile3
-rw-r--r--tools/depends/native/google-breakpad-native/Makefile45
-rw-r--r--tools/depends/target/Makefile4
-rw-r--r--tools/depends/target/config.site.in5
-rw-r--r--tools/depends/target/ffmpeg/FFMPEG-VERSION2
-rw-r--r--tools/depends/target/fontconfig/01-fontconfig-cross-compile-fix.patch80
-rw-r--r--tools/depends/target/fontconfig/Makefile7
-rw-r--r--tools/depends/target/google-breakpad/Makefile43
-rw-r--r--tools/depends/target/libass/Makefile8
-rw-r--r--tools/depends/target/libffi/Makefile2
-rw-r--r--tools/depends/target/libmicrohttpd/Makefile2
-rw-r--r--tools/depends/target/nettle/01-disable_testsuite.patch11
-rw-r--r--tools/depends/target/nettle/Makefile1
-rw-r--r--tools/depends/target/samba-gplv3/Makefile26
-rw-r--r--tools/depends/target/samba-gplv3/samba_android.patch372
-rw-r--r--tools/depends/target/xbmc/Makefile2
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)