summaryrefslogtreecommitdiffstats
path: root/mobile/android/config/mozconfigs/common
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/config/mozconfigs/common')
-rw-r--r--mobile/android/config/mozconfigs/common83
1 files changed, 83 insertions, 0 deletions
diff --git a/mobile/android/config/mozconfigs/common b/mobile/android/config/mozconfigs/common
new file mode 100644
index 000000000..1acb91ebb
--- /dev/null
+++ b/mobile/android/config/mozconfigs/common
@@ -0,0 +1,83 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+# This file is included at the top of all native android mozconfigs
+if [ "x$IS_NIGHTLY" = "xyes" ]; then
+ MOZ_AUTOMATION_UPLOAD_SYMBOLS=${MOZ_AUTOMATION_UPLOAD_SYMBOLS-1}
+fi
+
+MOZ_AUTOMATION_L10N_CHECK=0
+. "$topsrcdir/build/mozconfig.common"
+
+# In TaskCluster, the Java JRE/JDK are installed from tooltool, but that
+# install doesn't work on the old Buildbot mock builders (CentOS 6.2), so
+# the relevant env vars are not set up in that case, leaving the build to
+# run from the JRE/JDK in /usr/lib/jvm.
+if [ ! -f /etc/redhat-release ] || [ "$(< /etc/redhat-release)" != "CentOS release 6.2 (Final)" ]; then
+ # set JAVA_HOME to find the JRE/JDK from tooltool. Several scripts in the JDK
+ # assume `java` is in PATH, so set that too. To see how this tarball is built,
+ # see taskcluster/scripts/misc/repackage-jdk.sh
+ export JAVA_HOME="$topsrcdir/java_home"
+ export PATH="$PATH:$topsrcdir/java_home/bin"
+
+ mk_add_options "export JAVA_HOME=$topsrcdir/java_home"
+ mk_add_options "export PATH=$PATH:$topsrcdir/java_home/bin"
+fi
+
+ac_add_options --enable-elf-hack
+
+ANDROID_NDK_VERSION="r10e"
+ANDROID_NDK_VERSION_32BIT="r8c"
+
+# Build Fennec
+ac_add_options --enable-application=mobile/android
+ac_add_options --with-android-sdk="$topsrcdir/android-sdk-linux"
+
+if [ -z "$NO_NDK" ]; then
+ ac_add_options --with-android-ndk="$topsrcdir/android-ndk"
+ ac_add_options --with-android-gnu-compiler-version=4.9
+fi
+
+ac_add_options --with-system-zlib
+ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
+
+ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-fennec-geoloc-api.key
+
+# MOZ_INSTALL_TRACKING does not guarantee MOZ_UPDATE_CHANNEL will be set so we
+# provide a default state. Currently, the default state provides a default
+# keyfile because an assertion will be thrown if MOZ_INSTALL_TRACKING is
+# specified but a keyfile is not. This assertion can catch if we misconfigure a
+# release or beta build and it does not have a valid keyfile.
+#
+# However, by providing a default keyfile, if we misconfigure beta or release,
+# the default keyfile may be used instead and the assertion won't catch the
+# error. Therefore, it would be ideal to have MOZ_INSTALL_TRACKING guarantee
+# MOZ_UPDATE_CHANNEL was set so we can remove the default case. This may occur
+# when release promotion is implemented on Android.
+#
+# In all cases, we don't upload Adjust pings in automation.
+if test "$MOZ_UPDATE_CHANNEL" = "release" ; then
+ ac_add_options --with-adjust-sdk-keyfile=/builds/adjust-sdk.token
+elif test "$MOZ_UPDATE_CHANNEL" = "beta" ; then
+ ac_add_options --with-adjust-sdk-keyfile=/builds/adjust-sdk-beta.token
+else
+ ac_add_options --with-adjust-sdk-keyfile="$topsrcdir/mobile/android/base/adjust-sdk-sandbox.token"
+fi
+export SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE=/builds/crash-stats-api.token
+
+# Package js shell.
+export MOZ_PACKAGE_JSSHELL=1
+
+# Use ccache
+. "$topsrcdir/build/mozconfig.cache"
+
+HOST_CC="$topsrcdir/gcc/bin/gcc"
+HOST_CXX="$topsrcdir/gcc/bin/g++"
+
+. "$topsrcdir/build/unix/mozconfig.stdcxx"
+
+# Use libc++ as our C++ standard library
+ac_add_options --with-android-cxx-stl=libc++
+
+JS_BINARY="$topsrcdir/mobile/android/config/js_wrapper.sh"