From 7e7639ef9e32587693fbccc8bb2ba18cb2225e5f Mon Sep 17 00:00:00 2001 From: Wes Johnston Date: Thu, 8 Nov 2012 07:45:29 -0800 Subject: [PATCH] Bug 759041 - Bring in Android compatibility libraries. r=blassey --- build/autoconf/android.m4 | 9 +++++++++ build/mobile/robocop/Makefile.in | 2 +- config/android-common.mk | 2 +- js/src/build/autoconf/android.m4 | 9 +++++++++ mobile/android/base/Makefile.in | 2 +- 5 files changed, 21 insertions(+), 3 deletions(-) diff --git a/build/autoconf/android.m4 b/build/autoconf/android.m4 index a19690fac2c..b284aeea2e8 100644 --- a/build/autoconf/android.m4 +++ b/build/autoconf/android.m4 @@ -243,8 +243,17 @@ case "$target" in android_platform_tools="$android_sdk"/tools # SDK Tools < r8 fi ANDROID_SDK="${android_sdk}" + if test -e "${android_sdk}/../../extras/android/compatibility/v4/android-support-v4.jar" ; then + ANDROID_COMPAT_LIB="${android_sdk}/../../extras/android/compatibility/v4/android-support-v4.jar" + else + ANDROID_COMPAT_LIB="${android_sdk}/../../extras/android/support/v4/android-support-v4.jar"; + fi ANDROID_PLATFORM_TOOLS="${android_platform_tools}" AC_SUBST(ANDROID_SDK) + AC_SUBST(ANDROID_COMPAT_LIB) + if ! test -e $ANDROID_COMPAT_LIB ; then + AC_MSG_ERROR([You must download the andrioid compatibility library when targeting Android. (found $ANDROID_COMPAT_LIB)]) + fi AC_SUBST(ANDROID_PLATFORM_TOOLS) ;; esac diff --git a/build/mobile/robocop/Makefile.in b/build/mobile/robocop/Makefile.in index 48ec3ef70be..6c9bf815c17 100644 --- a/build/mobile/robocop/Makefile.in +++ b/build/mobile/robocop/Makefile.in @@ -93,7 +93,7 @@ classes.dex: $(_JAVA_HARNESS) classes.dex: $(_JAVA_TESTS) $(NSINSTALL) -D classes $(JAVAC) $(JAVAC_FLAGS) -d classes $(JAVAFILES) $(_JAVA_HARNESS) $(addprefix $(DEPTH)/mobile/android/base/tests/,$(_JAVA_TESTS)) - $(DX) --dex --output=$@ classes $(ROBOTIUM_PATH) + $(DX) --dex --output=$@ classes $(ROBOTIUM_PATH) $(ANDROID_COMPT_LIB) robocop.ap_: AndroidManifest.xml $(TESTPATH)/assets/* $(AAPT) package -f -M AndroidManifest.xml -I $(ANDROID_SDK)/android.jar -I . -S res -A $(TESTPATH)/assets -F $@ -J ./ diff --git a/config/android-common.mk b/config/android-common.mk index fb590a77cca..145a983a639 100644 --- a/config/android-common.mk +++ b/config/android-common.mk @@ -23,7 +23,7 @@ endif # For Android, this defaults to $(ANDROID_SDK)/android.jar ifndef JAVA_BOOTCLASSPATH - JAVA_BOOTCLASSPATH = $(ANDROID_SDK)/android.jar + JAVA_BOOTCLASSPATH = $(ANDROID_SDK)/android.jar:$(ANDROID_COMPAT_LIB) endif # For Android, we default to 1.5 diff --git a/js/src/build/autoconf/android.m4 b/js/src/build/autoconf/android.m4 index a19690fac2c..b284aeea2e8 100644 --- a/js/src/build/autoconf/android.m4 +++ b/js/src/build/autoconf/android.m4 @@ -243,8 +243,17 @@ case "$target" in android_platform_tools="$android_sdk"/tools # SDK Tools < r8 fi ANDROID_SDK="${android_sdk}" + if test -e "${android_sdk}/../../extras/android/compatibility/v4/android-support-v4.jar" ; then + ANDROID_COMPAT_LIB="${android_sdk}/../../extras/android/compatibility/v4/android-support-v4.jar" + else + ANDROID_COMPAT_LIB="${android_sdk}/../../extras/android/support/v4/android-support-v4.jar"; + fi ANDROID_PLATFORM_TOOLS="${android_platform_tools}" AC_SUBST(ANDROID_SDK) + AC_SUBST(ANDROID_COMPAT_LIB) + if ! test -e $ANDROID_COMPAT_LIB ; then + AC_MSG_ERROR([You must download the andrioid compatibility library when targeting Android. (found $ANDROID_COMPAT_LIB)]) + fi AC_SUBST(ANDROID_PLATFORM_TOOLS) ;; esac diff --git a/mobile/android/base/Makefile.in b/mobile/android/base/Makefile.in index 893fbac7d30..e3c6906ae63 100644 --- a/mobile/android/base/Makefile.in +++ b/mobile/android/base/Makefile.in @@ -1043,7 +1043,7 @@ include $(topsrcdir)/config/android-common.mk # indices. classes.dex: jars/gecko-browser.jar @echo "DX classes.dex" - $(DX) --dex --output=classes.dex jars + $(DX) --dex --output=classes.dex jars $(ANDROID_COMPAT_LIB) jars/gecko-browser.jar: jars/gecko-mozglue.jar jars/gecko-util.jar jars/sync-thirdparty.jar $(addprefix $(srcdir)/,$(FENNEC_JAVA_FILES)) $(FENNEC_PP_JAVA_FILES) $(addprefix $(srcdir)/,$(SYNC_JAVA_FILES)) $(SYNC_PP_JAVA_FILES) R.java @echo "JAR gecko-browser.jar"