pt 1 in reviving the android build (copied from pm 28a1, wish me luck)

This commit is contained in:
wuggy 2026-04-08 15:43:25 -07:00
commit d7788a6d6d
4249 changed files with 468189 additions and 0 deletions

View file

@ -0,0 +1,43 @@
# Many things aren't appropriate for a frontend-only build.
MOZ_AUTOMATION_BUILD_SYMBOLS=0
MOZ_AUTOMATION_INSTALLER=0
MOZ_AUTOMATION_L10N_CHECK=0
MOZ_AUTOMATION_PACKAGE=0
MOZ_AUTOMATION_PACKAGE_TESTS=0
MOZ_AUTOMATION_SDK=0
MOZ_AUTOMATION_UPDATE_PACKAGING=0
MOZ_AUTOMATION_UPLOAD=0
MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
NO_CACHE=1
NO_NDK=1
. "$topsrcdir/mobile/android/config/mozconfigs/common"
ac_add_options --with-gradle="$topsrcdir/gradle-dist/bin/gradle"
export GRADLE_MAVEN_REPOSITORY="file://$topsrcdir/jcentral"
unset HOST_CC
unset HOST_CXX
ac_add_options --disable-compile-environment
ac_add_options --disable-tests
# From here on, like ../android-api-15/nightly.
ac_add_options --enable-profiling
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/nightly
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
STRIP_FLAGS="--strip-debug"
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,45 @@
# Many things aren't appropriate for a frontend-only build.
MOZ_AUTOMATION_BUILD_SYMBOLS=0
MOZ_AUTOMATION_INSTALLER=0
MOZ_AUTOMATION_L10N_CHECK=0
MOZ_AUTOMATION_PACKAGE=0
MOZ_AUTOMATION_PACKAGE_TESTS=0
MOZ_AUTOMATION_SDK=0
MOZ_AUTOMATION_UPDATE_PACKAGING=0
MOZ_AUTOMATION_UPLOAD=0
MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
NO_CACHE=1
NO_NDK=1
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# We want to download Gradle.
ac_add_options --with-gradle
# We want to use (and populate!) the local Nexus repository.
export GRADLE_MAVEN_REPOSITORY="http://localhost:8081/nexus/content/repositories/central/"
# From here on, just like ../android-api-15-frontend/nightly.
ac_add_options --disable-compile-environment
unset HOST_CC
unset HOST_CXX
ac_add_options --disable-tests
ac_add_options --enable-profiling
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/nightly
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
STRIP_FLAGS="--strip-debug"
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,23 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
ac_add_options --enable-profiling
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/nightly
ac_add_options --with-gradle="$topsrcdir/gradle-dist/bin/gradle"
export GRADLE_MAVEN_REPOSITORY="file://$topsrcdir/jcentral"
# From here on, just like ../android-api-15/nightly.
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
STRIP_FLAGS="--strip-debug"
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,16 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Global options
ac_add_options --enable-debug
ENABLE_MARIONETTE=1
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --with-branding=mobile/android/branding/official
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,27 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-system-zlib
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,28 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-system-zlib
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --enable-official-branding
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,18 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/official
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
STRIP_FLAGS="--strip-debug"
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,16 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --enable-updater
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --enable-official-branding
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,15 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Global options
ac_add_options --enable-debug
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --with-branding=mobile/android/branding/official
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,26 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,27 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# L10n
ac_add_options --with-l10n-base=..
# Global options
ac_add_options --disable-tests
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --enable-updater
ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
export MOZILLA_OFFICIAL=1
ac_add_options --enable-official-branding
ac_add_options --with-branding=mobile/android/branding/official
ac_add_options --disable-stdcxx-compat
# Don't autoclobber l10n, as this can lead to missing binaries and broken builds
# Bug 1283438
mk_add_options AUTOCLOBBER=
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,17 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --with-branding=mobile/android/branding/official
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
STRIP_FLAGS="--strip-debug"
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -0,0 +1,16 @@
. "$topsrcdir/mobile/android/config/mozconfigs/common"
# Android
ac_add_options --target=i386-linux-android
ac_add_options --with-android-min-sdk=15
ac_add_options --enable-updater
ac_add_options --with-branding=mobile/android/branding/official
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
ac_add_options --enable-official-branding
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"

View file

@ -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"

View file

@ -0,0 +1,11 @@
# 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 bottom of all native android mozconfigs
#
# Disable enforcing that add-ons are signed by the trusted root
MOZ_REQUIRE_SIGNING=0
. "$topsrcdir/build/mozconfig.common.override"
. "$topsrcdir/build/mozconfig.cache"

View file

@ -0,0 +1,21 @@
# currently a copy of mobile/android/config/mozconfigs/android-api-15/nightly
. "$topsrcdir/mobile/android/config/mozconfigs/common"
ac_add_options --enable-profiling
# Android
ac_add_options --with-android-min-sdk=15
ac_add_options --target=arm-linux-androideabi
ac_add_options --with-branding=mobile/android/branding/nightly
ac_add_options --with-android-distribution-directory=/home/worker/workspace/build/partner
# This will overwrite the default of stripping everything and keep the symbol table.
# This is useful for profiling with eideticker. See bug 788680
STRIP_FLAGS="--strip-debug"
export MOZILLA_OFFICIAL=1
export MOZ_TELEMETRY_REPORTING=1
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"