Граф коммитов

106 Коммитов

Автор SHA1 Сообщение Дата
Thomas Zimmermann 7065b7cb62 Bug 1280600: Cleanup Android linker flags and libraries, r=glandium
Android and b2g have duplicated linker flags and libraries. This patch
removes the duplicates from b2g scripts. The library 'log' is now listed
in the correct variable 'LIBS'.

MozReview-Commit-ID: EtVzZpoXkdK
2016-07-11 15:16:56 +02:00
Thomas Zimmermann 5f90520d21 Bug 1280600: Cleanup Android-version variables in configure scripts, r=glandium
Not all Android releases come with their own platform release. This patch adds
a switch statement to MOZ_ANDROID_NDK to use the previous platform release in
this case.

For several tests, the autoconf script 'old-configure.in' uses an internal
variable 'ANDROID_VERSION'. The stored value comes from the environment
variable 'PLATFORM_SDK_VERSION'. This patch replaces 'ANDROID_VERSION' by
'android_version', which is defined by MOZ_ANDROID_NDK from a command-line
parameter.

MozReview-Commit-ID: EbDgZX2aJgJ
2016-07-11 15:16:56 +02:00
Nathan Froyd 4288fc808d Bug 1281786 - make Fennec compile with NDK r12; r=glandium
NDK r12 shuffled a few things around and changed how we need to link to libc++.
2016-06-28 22:00:47 -04:00
Thomas Zimmermann 5d152949dc Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-16 08:43:51 +01:00
Sebastian Hengst d41fba2a76 Backed out changeset f6f4144c4dbc (bug 1276927) 2016-06-15 12:23:48 +02:00
Thomas Zimmermann c63293b2ca Bug 1276927: Build B2G with Android build scripts where possible, r=glandium
This patch adds support for configuring Gonk/B2G with Android-specific
build scripts. This removes duplicated code and simplifies maintenance
of B2G.

The B2G builds will now use libc++ for Gecko; instead of the obsolete
STLport. A side-effect of this patch is the removal of any compile-time
dependency on B2G's bionic library.

MozReview-Commit-ID: 7V6BmC7jlrs
2016-06-15 10:59:49 +01:00
Sebastian Kaspari 38f5ea7b19 Bug 1276696 - Add custom tabs support library. r=mcomella
MozReview-Commit-ID: LXie1GiV4gV

--HG--
extra : rebase_source : 7316ebbe6512db64364c0a4f450e0758f79fcc5c
2016-06-10 11:01:11 +02:00
Makoto Kato daf9534a3e Bug 1262052 - Remove unnecessary -mandroid parameter. r=glandium
When target is Android, -mandroid is default parameter from gcc 4.6  So we don't need add this options.

Also clang doesn't support this argument.

MozReview-Commit-ID: AuA3Y9vlgWE

--HG--
extra : rebase_source : c1866f56f131e666cc321d21fda1317532d46101
2016-06-07 16:07:39 +09:00
Chris Manchester e62326427f Bug 1276043 - Move ANDROID_SUPPORT_LIBRARY_VERSION and ADNROID_GOOGLE_PLAY_SERVICES_VERSION to Python configure. r=glandium
MozReview-Commit-ID: 2UctER22IGt
2016-05-31 10:14:35 -07:00
Sebastian Kaspari 65248e9ba7 Bug 1247047 - Remove play-services-{analytics,appindexing}, no longer required by play-services-ads 8.4.0. r=ahunt
MozReview-Commit-ID: KowZ2gjzs8a

--HG--
extra : rebase_source : f639ad1107a7723cf3d7a4dcbeb7b3b64fda9504
2016-05-23 17:56:05 +02:00
Sebastian Kaspari 586f1b35ad Bug 1247047 - Add play-services-measurement, required by play-services-gcm 8.4.0. r=ahunt
MozReview-Commit-ID: 4T65x2u3LmZ

--HG--
extra : rebase_source : f0f78a031da64a8ec638e08c8f50f611930190e9
2016-05-23 17:51:27 +02:00
Sebastian Kaspari 8a40b11133 Bug 1247047 - Update build tools to 23.0.3 and Google Play Services to 8.4.0. r=ahunt
MozReview-Commit-ID: 3KZfrc4SL2D

--HG--
extra : rebase_source : bb9844047b01909ac5e9972db844732042389635
2016-05-23 17:46:06 +02:00
Sebastian Hengst 5bb937e6f4 Backed out changeset 0183f1bb4655 (bug 1247047) for Android build bustage. r=backout on a CLOSED TREE 2016-05-25 18:32:42 +02:00
Sebastian Hengst 5a4685ed2f Backed out changeset a38fb5ad3684 (bug 1247047) 2016-05-25 18:31:55 +02:00
Sebastian Hengst b83d99d00b Backed out changeset fac238070399 (bug 1247047) 2016-05-25 18:31:48 +02:00
Sebastian Kaspari abdc8c2da2 Bug 1247047 - Remove play-services-{analytics,appindexing}, no longer required by play-services-ads 8.4.0. r=ahunt
MozReview-Commit-ID: KowZ2gjzs8a

--HG--
extra : rebase_source : 40a9a4309891063b3ca9b4b2e89133d051d6563e
2016-05-23 17:56:05 +02:00
Sebastian Kaspari 164ed8d6be Bug 1247047 - Add play-services-measurement, required by play-services-gcm 8.4.0. r=ahunt
MozReview-Commit-ID: 4T65x2u3LmZ

--HG--
extra : rebase_source : 76665608e6d884538977e4ca1261e36a9fc5540e
2016-05-23 17:51:27 +02:00
Sebastian Kaspari 05ce52d892 Bug 1247047 - Update build tools to 23.0.3 and Google Play Services to 8.4.0. r=ahunt
MozReview-Commit-ID: 3KZfrc4SL2D

--HG--
extra : rebase_source : b0c119842b1713de963e5662b53a92f0884935a7
2016-05-23 17:46:06 +02:00
Sebastian Kaspari aaab192fc8 Bug 1274955 - Extract Android dependency versions. r=glandium
MozReview-Commit-ID: FXwWjWIXke4

--HG--
extra : rebase_source : 8532dd6049bc411990547888600d1a394d8fbc14
2016-05-23 13:20:43 +02:00
Ryan VanderMeulen 4cffb5461e Merge inbound to m-c. a=merge 2016-05-19 12:46:54 -04:00
Andrzej Hunt 1aec36f857 Bug 1271428 - Pre: add cardview support library r=sebastian
MozReview-Commit-ID: 3rOJRnv1ujO

--HG--
extra : rebase_source : ddd199820174110bafdcf625a6bf9a359290e0ea
2016-05-09 14:05:21 -07:00
Nathan Froyd f8a1b9718d Bug 1273934 - switch android builds to default to libc++; r=snorp
This change is only significant for local developer builds; automation
has been building with libc++ for a week or so now.
2016-05-18 22:01:53 -04:00
Chris Manchester 303634f7fa Bug 1257958 - Move MOZ_ANDROID_GCM to Python configure. r=nalexander
MozReview-Commit-ID: 90vbYKB8rHJ
2016-04-22 13:01:21 -07:00
Ted Mielczarek 38f0f05268 bug 1266046 - remove NSPR_CONFIGURE_ARGS. r=glandium
MozReview-Commit-ID: 4lwouR4LVit

--HG--
extra : rebase_source : 6103e3ab1ff077efc3109b412e4f3bbcb53c8f5f
2016-04-20 08:37:39 -04:00
Mike Hommey 6886f13b7d Bug 1262020 - Move --with-android-ndk, --with-android-toolchain and --with-android-gnu-compiler-version to moz.configure. r=nalexander 2016-04-06 07:25:13 +09:00
Mike Hommey 81010d54a2 Bug 1260996 - Don't set HOST_{C,CXX,LD}FLAGS from {C,CXX,LD}FLAGS on cross compiles. r=nalexander
The only cross compiles we actively support were pre-setting those
values to avoid it anyways, so it wasn't doing anything useful.
2016-04-01 09:43:26 +09:00
Mike Hommey c12b02c70d Bug 1260647 - Unify cross-compilation setup, while moving some of it to moz.configure. r=ted
Gonk, Android, and the generic cross-compilation setup all were using a
different yet similar way to prefix the toolchain. The latter was even
wrong, since the target and target alias usually don't match actual
toolchain prefixes (which don't include the machine part of the target).
2016-04-01 09:43:26 +09:00
Mike Hommey a768dba8e1 Bug 1255305 - Uniformize CPU_ARCH between old-configure.in and js/src/old-configure.in. r=chmanchester 2016-03-15 07:34:50 +09:00
Chris Peterson dcaae98769 Bug 1233297 - Part 2b: Remove some unnecessary warning flags. r=glandium
-Wno-psabi has not been necessary since we updated the build machines to Android NDK r8c three years ago in bug 826133.

-Wsometimes-initialized is not necessary because it is implicitly enabled by clang's -Wuninitialized, which is enable by -Wall.

-Wcast-align is very noisy and we apparently only enable it for gcc on 32-bit x86 builds?

-Wno-unused-local-typedef is no longer necessary. This is the clang flag; gcc's flag is -Wno-unused-local-typedefs, with an 's'. Suppressing gcc's warning was recently deemed unnecessary and WONTFIX'd in bug 1243604. Unsurprisingly, we no longer need it on clang either.

-Wrange-loop-analysis is no longer necessary because it is implicitly enabled by -Wloop-analysis, which is enabled by the previous commit.
2016-02-24 22:51:21 -08:00
Michael Comella c48a870a5f Bug 1233238 - Compile with play-services-{ads,analytics,appindexing} to support Adjust SDK. r=nalexander
On a CLOSED TREE because this is Android only.

When we switched to fine-grained Google Play Services bundling (Bug
1115004), we stopped shipping com.google.android.gms.analytics.  That
silently breaks Adjust, which queries the Google Ad ID using
reflection: now the package isn't present!  This patch restores the
Play Services libraries that Adjust relies on.  (Sadly, this bloats
our APK tremendously.)

There is some hijinkery, however: the Play Services libraries
reference a library (org.apache.http) that is deprecated in Android
23!  However, the library is still present on Android 23 devices,
which buys Google time to replace the offending code.  This compiles
just fine, breaks the Proguard global optimization pass.  To give
Proguard the information, we add the library as a Proguard "library
JAR".  This is equivalent to the Google-provided Gradle `useLibrary`
directive.

--HG--
extra : commitid : I4rTyC8lxLd
extra : rebase_source : 96f30d735e898cb9853d53f236ac8e2337186814
extra : amend_source : 3e4d68789b3ef980e4e1d7f743e332bdbb6be176
2016-02-04 16:10:29 -08:00
Nick Alexander 7fd985b3bb Bug 1220476 - Make --disable-compile-environment work for Android builds without an Android NDK. r=glandium
--HG--
extra : commitid : 9vtzh7HRAB0
extra : rebase_source : d60c6614bf109ba8c0427941b335984d661e85c5
extra : histedit_source : 72ee79eb44ae20ae283768538e747ec2fe355f34
2015-11-02 16:46:42 -08:00
Nick Alexander 3323ad2cde Bug 1207708 - Part 2: Build against play-services-{basement,base,gcm} if MOZ_ANDROID_GCM. r=sebastian
Since MOZ_NATIVE_DEVICES builds against play-services-{basement,base,cast},
some ad-hoc de-duplication is necessary.

--HG--
extra : commitid : 2jNIgZpLUq2
extra : source : 0957d3435ac22765d7868cb3c7db1e0787836bc3
2015-10-27 17:41:49 -07:00
Sebastian Kaspari 579c312daa Bug 1189306 - Add Android Design Support library to gradle and mach builds. r=nalexander
--HG--
extra : commitid : J3JxjMlJdcC
extra : rebase_source : 8f4624bcf432201e345f75c834e08755c53766ad
2015-10-15 13:01:32 +02:00
Nathan Froyd 798533b7f5 Bug 1164921 - part 2 - remove now-obsolete --enable-android-libstdcxx; r=glandium 2015-10-15 16:32:25 +09:00
Nathan Froyd b5c94ae442 Bug 1164921 - part 1 - add --with-android-cxx-stl to select the C++ STL to use; r=glandium 2015-10-15 16:32:25 +09:00
Sebastian Kaspari a595f4ee85 Bug 1193206 - Build with Android support library 23.0.1. r=nalexander
--HG--
extra : commitid : 6lU66oAQuFC
extra : rebase_source : fe145d252cb484596c2abce793a6cbb6eadc3968
2015-10-07 09:13:34 +02:00
Sebastian Kaspari faf41dd8da Bug 1197147 - Mach build: Use version 8.1 of Google Play Services. r=nalexander
This patch also adds the new base (sic) library play-services-basement.

Note that the package names have changed too:
* play-services-base: com.google.gms -> com.google.gms.base
* play-services-basement: * -> com.google.gms

--HG--
extra : commitid : EcmxZA10rzV
extra : rebase_source : f39b361807a0b8227f3fb9a6d73e066241c8e36c
2015-10-05 14:59:53 +02:00
Sebastian Kaspari 03b4af6028 Bug 1208576 - Build with appcompat-v7 regardless of MOZ_NATIVE_DEVICES flag. r=nalexander
--HG--
extra : commitid : 5PmivDcq7NB
extra : rebase_source : 01f72d51d670e1cce51b96f2258300df42251485
2015-09-28 12:10:42 +02:00
Nick Alexander 8a89dfb148 Bug 1204260 - Pin Android package versions to android-22 and build-tools-22.0.1. r=glandium
Right now, --with-android-sdk expects a path to a specific Android SDK
version, like /path/to/platforms/android-22.  That path is exposed as
ANDROID_SDK; the Android SDK root is exposed as ANDROID_SDK_ROOT.

Right now, the provided platform's version number is extracted into
ANDROID_TARGET_SDK.  The extracted ANDROID_TARGET_SDK is checked
against a minimum version number (supplied as a parameter to
MOZ_ANDROID_SDK).

After this patch, --with-android-sdk expects what is now
ANDROID_SDK_ROOT, and then derives ANDROID_SDK from that path and a
pinned SDK platform version number.  The exact version number which we
search for is now a parameter given to MOZ_ANDROID_SDK.  We accept and
fail, with a helpful message, if we recognize an old-style ANDROID_SDK
path.

The existing MOZ_ANDROID_{MIN,MAX}_SDK_VERSION variables remain as
they are.

Right now, the Android build tools are searched in a deterministic but
non-obvious manner.  After this patch, the exact build tools version
number is now a parameter given to MOZ_ANDROID_SDK.

--HG--
extra : commitid : 7z4T3EYH8fg
extra : rebase_source : 118a2a163d0deb1896e4959f12e9fbb132732bd8
extra : histedit_source : f18feda343e3c8e9f0dbb65eb7127262690e3cad
2015-09-12 15:04:19 -04:00
Nick Alexander 960eeeb471 Bug 1204260 - Pre: Don't expose ANDROID_{BUILD,PLATFORM}_TOOLS. r=glandium,gbrown
This stops exposing ANDROID_BUILD_TOOLS and ANDROID_PLATFORM_TOOLS via
AC_SUBST.  We expose most tools already, and this adds EMULATOR, and
consumes it (and ADB) where appropriate.

--HG--
extra : commitid : 9u0pibgE00
extra : rebase_source : 04e420c53d1d75ab8f055436d7dd69e148168c67
extra : histedit_source : a930a34f4dda44ee91b52caf68e02877b0502f01
2015-09-12 14:59:31 -04:00
Nick Alexander 7fe859f12c Bug 1204260 - Pre: Move AAR searches later. r=me
This merely groups the AAR searches in the configure output, which
reads a little easier.

--HG--
extra : commitid : 8yoM0J2NNOq
extra : rebase_source : 989bf064ca0f2d4e0126726dad7529a218e11e62
extra : histedit_source : f8c211e64741b4558b185bfbf5523b67cc428232
2015-09-11 19:13:45 -07:00
Nick Alexander 416f8c64aa Bug 1108782 - Part 2: Explode AAR files at configure time. r=glandium
This gets us a limited version of AAR support: we can consume static
AAR libraries, where here static does not refer to linking, but to
static assets that are fixed at build-backend time and not modified
(or produced) during the build.  This lets us pin our dependencies
(and move to Google's versioned Maven repository packages, away from
Google's unversioned ad-hoc packages).

By restricting to static AAR libraries, we avoid having to handle
truly complicated dependency trees, as changing parts of generated AAR
files require delicate rebuilding of the APKs (and internal libraries)
that depend on the AAR files.

It is possible that we will generate AARs in the tree at some time.
Right now, we don't do that, even for GeckoView: the AARs produced are
assembled as artifacts at package time and are intended for external
consumption.  We might want this for GeckoView and Fennec at some
time; we should consider using Gradle everywhere at that point.

The patch itself does the simplest possible thing (which has precedent
from Gradle and other build systems): it simply "explodes" the AAR
into the object directory and uses existing mechanisms to refer to the
exploded pieces.

AARs have both required and optional components.  Each component is
defined with an expected and required flag. If a component is expected
and not present, or not expected and is present, an error is raised.
If the component is expected and present, autoconf's ifelse() macro is
used to define the relevant AAR_* component variables.  If the
component is not expected and not present, no action is taken.  A
consuming build backend therefore can guard all AAR_* component
variables with just the top-level AAR variable.

Many AAR files have empty assets/ directories.  This patch doesn't
explode empty assets/ directories, protecting against trivial changes
to AAR files that don't impact the build.

There's a lot not to like in this approach, including:

* We need to manually reference internal AAR libs;
* I haven't separated the pinned version numbers out of configure.in.

However, it's closer to what we want than what we have!

--HG--
extra : commitid : 11kUhDAkCn5
extra : rebase_source : 2454c9842ab3296d53ca5fa394a5a962aa382c8d
extra : histedit_source : e2f97502d215016925e93500b8fd93f8b32fba3a
2015-09-22 10:04:26 -07:00
Nathan Froyd d5796a148d Bug 1195502 - don't include android toolchain checks for gcc < 4.7; r=nalexander
We don't support gcc < 4.7 when building Gecko, so there's not much
point in potentially checking for those versions.
2015-08-14 17:11:32 -04:00
Sebastian Kaspari caaa022467 Bug 1180132 - android.m4: RecyclerView library should not be dependent on flag $MOZ_NATIVE_DEVICES. r=nalexander
--HG--
extra : commitid : 4ccus9nKM9q
extra : rebase_source : 6716d0e7d9985423533ba94dadf6f9ebdc92b379
extra : amend_source : 3f5febdbe07b0321d15cf8c5f4c8b99828ef54de
2015-07-03 14:46:57 +02:00
Sebastian Kaspari 1e85c546d0 Bug 1171288 - Add ability to build with RecyclerView support library. r=nalexander
--HG--
extra : rebase_source : 781c82348e9ea08183aa8560532ffb63222f8f8d
2015-06-16 19:52:44 +02:00
James Willcox 1da727fb41 Bug 1165460 - Prefer GCC 4.9 for Fennec builds r=glandium 2015-06-03 10:26:17 -05:00
Nathan Froyd 81521abb68 Bug 1164657 - delete dead code for MOZ_ANDROID_LIBSTDCXX flags determination; r=nalexander
We require ndk-r8e, so we don't need to support paths for all the other
NDKs prior to that now.  Also took the opportunity to clean the paths up
so things fit on a reasonable screen.
2015-05-13 15:24:32 -04:00
Nathan Froyd 6415da1d81 Bug 1164619 - delete bit of android.m4 for older NDKs; r=nalexander
We require version r8e of the NDK, so bits handling r8a or before are no
longer necessary.
2015-05-13 15:03:15 -04:00
Akos Kiss 250212e129 Bug 1122111 - Change pattern in autoconf/android.m4 to recognize arm-unknown-linux-androideabi target string returned by recent config.sub. r=glandium 2015-01-16 02:08:00 -05:00
Ehsan Akhgari 17aef44cfc Bug 1117028 - Try to look for zipalign in all of Android build tools; r=nalexander
Some Android SDK installations do not have the zipalign program in
the same directory as other Android build tools.  For example,
zipalign may be found in /build-tools/21.1.2 whereas the
rest of the build tools are in /build-tools/android-4.4.
2015-01-06 23:33:48 -05:00