Cleanup Android/B2G configure and build scripts

RESOLVED FIXED

Status

defect
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: tzimmermann, Assigned: tzimmermann)

Tracking

unspecified
ARM
Gonk (Firefox OS)
Dependency tree / graph

Firefox Tracking Flags

(firefox50 fixed)

Details

Attachments

(8 attachments)

With bug 1276927 landed, b2g is much closer to Android than before. A number of configure and build scripts can now be cleaned up.
Bluetooth availability depends on available driver; not the base system's
version. This patch separates both. Following other modules, it also moves
search-path setup for BT header files into the affected moz.build scripts.

Review commit: https://reviewboard.mozilla.org/r/59920/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59920/
Attachment #8763801 - Flags: review?(mh+mozilla)
Attachment #8763802 - Flags: review?(mh+mozilla)
Attachment #8763803 - Flags: review?(mh+mozilla)
Attachment #8763804 - Flags: review?(mh+mozilla)
Attachment #8763805 - Flags: review?(mh+mozilla)
Attachment #8763806 - Flags: review?(mh+mozilla)
Attachment #8763807 - Flags: review?(mh+mozilla)
Necko's build scripts already handle include search paths for mDNS
libraries on b2g. This patch removes similar code from the configure
script.

Review commit: https://reviewboard.mozilla.org/r/59922/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59922/
Configure's 'GONK_INCLUDES' is just 'CPPFLAGS' with a differrent name. Use
'CPPFLAGS' instead.

Review commit: https://reviewboard.mozilla.org/r/59924/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59924/
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.

Review commit: https://reviewboard.mozilla.org/r/59926/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59926/
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'.

Review commit: https://reviewboard.mozilla.org/r/59928/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59928/
B2g now has 'OS_TARGET' set to 'Android'. This patch merges Android
and Gonk branches in the build scripts where possible.

Review commit: https://reviewboard.mozilla.org/r/59930/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59930/
B2g came with its own version of 'libgabi++' in its toolchain. Gecko
on b2g isn't build any longer with this toolchain. With this patch
applied, Gecko's internal version of 'libgabi++' is used for building.

Review commit: https://reviewboard.mozilla.org/r/59932/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/59932/
Comment on attachment 8763213 [details] [review]
Github pull request for gonk-misc

Patch [04] moves this code into the configure scripts.
Attachment #8763213 - Flags: review?(lissyx+mozillians)
Attachment #8763213 - Flags: review?(lissyx+mozillians) → review+
Comment on attachment 8763801 [details]
Bug 1280600: Cleanup Bluetooth config and build scripts,

https://reviewboard.mozilla.org/r/59920/#review57756
Attachment #8763801 - Flags: review?(mh+mozilla) → review+
Attachment #8763802 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8763802 [details]
Bug 1280600: Remove mDNS include search paths from configure script,

https://reviewboard.mozilla.org/r/59922/#review57758
Attachment #8763803 - Flags: review?(mh+mozilla) → review+
Attachment #8763804 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8763804 [details]
Bug 1280600: Cleanup Android-version variables in configure scripts,

https://reviewboard.mozilla.org/r/59926/#review57762

::: build/autoconf/android.m4:49
(Diff revision 1)
> +    case $android_version in
> +    11|10)
> +        android_platform_version=9
> +        ;;
> +    20)
> +        android_platform_version=20

There must be an error here, as the number is the same.
Comment on attachment 8763805 [details]
Bug 1280600: Cleanup Android linker flags and libraries,

https://reviewboard.mozilla.org/r/59928/#review57764
Attachment #8763805 - Flags: review?(mh+mozilla) → review+
Attachment #8763806 - Flags: review?(mh+mozilla) → review+
Comment on attachment 8763806 [details]
Bug 1280600: Merge Android and b2g branches in build scripts where possible,

https://reviewboard.mozilla.org/r/59930/#review57768

::: netwerk/base/moz.build:290
(Diff revision 1)
>  elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
>      SOURCES += [
>          'NetworkInfoServiceCocoa.cpp',
>          'nsNetworkInfoService.cpp',
>      ]
> -elif CONFIG['OS_TARGET'] == 'Linux':
> +elif CONFIG['OS_TARGET'] in ('Android', 'Linux'):

CONFIG['OS_ARCH'] == 'Linux' matches for desktop linux, gonk, and android.
Comment on attachment 8763807 [details]
Bug 1280600: Use Gecko's 'libgabi++' on b2g,

https://reviewboard.mozilla.org/r/59932/#review57770
Attachment #8763807 - Flags: review?(mh+mozilla) → review+
(In reply to Mike Hommey [:glandium] from comment #16)
> > +    20)
> > +        android_platform_version=20
> 
> There must be an error here, as the number is the same.

Right. That's supposed to be platform version 19.
(In reply to Mike Hommey [:glandium] from comment #18)
> > -elif CONFIG['OS_TARGET'] == 'Linux':
> > +elif CONFIG['OS_TARGET'] in ('Android', 'Linux'):
> 
> CONFIG['OS_ARCH'] == 'Linux' matches for desktop linux, gonk, and android.

Changed this to test for 'OS_ARCH'.
Comment on attachment 8763801 [details]
Bug 1280600: Cleanup Bluetooth config and build scripts,

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59920/diff/1-2/
Comment on attachment 8763802 [details]
Bug 1280600: Remove mDNS include search paths from configure script,

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59922/diff/1-2/
Comment on attachment 8763803 [details]
Bug 1280600: Replace 'GONK_INCLUDES' with 'CPPFLAGS',

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59924/diff/1-2/
Comment on attachment 8763804 [details]
Bug 1280600: Cleanup Android-version variables in configure scripts,

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59926/diff/1-2/
Comment on attachment 8763805 [details]
Bug 1280600: Cleanup Android linker flags and libraries,

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59928/diff/1-2/
Comment on attachment 8763806 [details]
Bug 1280600: Merge Android and b2g branches in build scripts where possible,

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59930/diff/1-2/
Comment on attachment 8763807 [details]
Bug 1280600: Use Gecko's 'libgabi++' on b2g,

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/59932/diff/1-2/
Pushed by tdz@users.sourceforge.net:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6a50a446f04b
Cleanup Bluetooth config and build scripts, r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/72d9cc0b0287
Remove mDNS include search paths from configure script, r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/bc1b6ade02c5
Replace 'GONK_INCLUDES' with 'CPPFLAGS', r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/abb6ae66b2be
Cleanup Android-version variables in configure scripts, r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/ee3287e048f4
Cleanup Android linker flags and libraries, r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/fea9d890076e
Merge Android and b2g branches in build scripts where possible, r=glandium
https://hg.mozilla.org/integration/mozilla-inbound/rev/67352c9ced46
Use Gecko's 'libgabi++' on b2g, r=glandium
Duplicate of this bug: 1286197
You need to log in before you can comment on or make changes to this bug.