Commit Graph

6694 Commits

Author SHA1 Message Date
Chris Manchester
3aac6ce692 Bug 1403346 - Implement cflags filtering for elfhack in mozbuild COMPILE_FLAGS r=glandium
MozReview-Commit-ID: GO2mqMjHuHd
2017-10-25 15:12:10 -07:00
Chris Manchester
d43c1ef2dd Bug 1403346 - Implement clang-plugin cxxflags in moz.build. r=glandium
MozReview-Commit-ID: 9zSryJcTRGl
2017-10-25 15:12:10 -07:00
Chris Manchester
f09fbe07c1 Bug 1403346 - Use AC_SUBST_LIST for LLVM_CXXFLAGS. r=glandium
MozReview-Commit-ID: bsX83492AP
2017-10-25 15:12:10 -07:00
Chris Manchester
7e47dd1ebb Bug 1403346 - Define flags loading the clang plugin in configure rather than the make backend. r=glandium
MozReview-Commit-ID: EubsjJl1LBS
2017-10-25 15:12:10 -07:00
Chris Manchester
89f38841e2 Bug 1403346 - Implement ALLOW_COMPILER_WARNINGS as a template. r=glandium
MozReview-Commit-ID: 611XXi8hCKm
2017-10-25 15:12:09 -07:00
Chris Manchester
9889a2f30a Bug 1403346 - Use mozbuild.shellutil.split instead of split in config.status r=glandium
While we're here, provide a reference to unique_list as defined in
moz.configure when executing config.data to avoid its redefinition
in m4.

MozReview-Commit-ID: AI6XhoYR0Ye
2017-10-25 15:10:04 -07:00
Gregory Szorc
8de001a07d Bug 1411081 - Appease flake8 linter by adding empty lines; r=me 2017-10-25 10:57:51 -07:00
Gregory Szorc
083b5bc70f Bug 1411081 - Use opt-level=1 for rustc in default configuration; r=glandium
As the data in the bug shows, the current default of opt-level=2 is
several minutes slower at compiling than opt-level=1. This slows down
builds significantly and the added benefits of running opt-level=2
for local development can't be justified for the common/default case.

This commit changes the default for local builds from opt-level=2 to
opt-level=1.

--enable-release (what we use for builds shipped to users) will imply
opt-level=2. --enable-optimize (the default) will use opt-level=1,
and --disable-optimize will use opt-level=0.

The RUSTC_OPT_LEVEL environment variable in mozconfigs can be used
to set an explicit opt-level level, regardless of what other
configure options are set. This includes the other potential values,
"s" and "z."

A side-effect of this change is that -Copt-level is now *always*
specified by the build system. Before, it was only specified if
the value was adjusted to 0 for --disable-optimize builds.

MozReview-Commit-ID: 67KX5qScnFc

--HG--
extra : rebase_source : dac0134e952151992eee23e017e9a29f84b05172
extra : intermediate-source : c3a7cc11a987aedb81332f1a03cd082ab0ab0cb8
extra : source : 360827b8a5956d58f7f0200431d3a44c57ce8dc4
2017-10-24 16:48:58 -07:00
Gregory Szorc
6f60ff2761 Bug 1411081 - Derive Rust compiler flags in configure; r=glandium
Before this commit, RUSTFLAGS was derived in rules.mk by consulting
various variables set by configure. It isn't clear to me why things
are implemented this way. We don't appear to have moz.build level
overrides for Rust compiler flags. So there doesn't appear to be a
compelling reason why we can't derive these values in configure.

So, this commit ports the code for deriving default RUSTFLAGS from
rules.mk to toolchain.configure.

The port is pretty straightforward as far as the logic goes.

MozReview-Commit-ID: JhAE9Qlo8SK

--HG--
extra : rebase_source : 6186cb81cd37c516b3d645419b9461bf501d6ba2
2017-10-24 14:42:01 -07:00
Gregory Szorc
ae7cf57366 Bug 1411081 - Move --enable-optimize/MOZ_OPTIMIZE to moz.configure; r=glandium
The Rust optimization logic is tied to --enable-optimize/MOZ_OPTIMIZE
and --enable-debug/MOZ_DEBUG. In order to more easily implement more
customization, let's move --enable-optimize/MOZ_OPTIMIZE to
moz.configure so its value can be consulted there.

The logic here is a bit wonky. The option behaves like a boolean
or a string. If a string, MOZ_OPTIMIZE is set to 2. Otherwise it
is 1 or unset depending on the boolean value.

The custom compiler flags string is passed to old-configure, where it
overwrites whatever old-configure derived as the default value.
We stop short of moving all references to MOZ_OPTIMIZE_FLAGS to
moz.configure because there are a handful of them and I don't want
to scope bloat.

MozReview-Commit-ID: 6iNDu2HwLGr

--HG--
extra : rebase_source : a64f1236012d13913f21253df1b9b5ff0ae8ea6e
2017-10-24 19:54:48 -07:00
Gregory Szorc
5b6a6d303e Bug 1411081 - Foster debugging of old-configure.vars; r=nalexander
We mix the added and modified variables from mozconfig and sort them.

We also print comments indicating where values come from.

MozReview-Commit-ID: 97x9iHxZe3m

--HG--
extra : rebase_source : 367bc410bc06532a91b488039e3cb0ec65850c09
2017-10-24 14:00:44 -07:00
Makoto Kato
7ae7c43e2f Bug 1409624 - Cannot detect valid emulator command when using Android Tools 26. r=nalexander
Although there is emulator command in android_sdk_root/tools even if Android
Tools 26, it doesn't work well because emulator64-arm is missing in same
directory.

Valild emulator command moves from android_sdk_root/tools to
android_sdk_root/emulator from Android Tools 26 (updated by sdkmanager).

MozReview-Commit-ID: 4IGHK3YcZXD

--HG--
extra : rebase_source : cc0c67f24c32a55ac40e65a5a036d5072dff6ee4
extra : histedit_source : 9718746e56dd9ec16a540533acfe909c319c234b
2017-10-18 14:01:28 +09:00
Jean-Yves Avenard
858f178676 Bug 1410090 - Remove remnant of FFOS OMX code. r=cpearce
For webrtc, the most important part of the code had already been removed in bug 1355048 and could no longer be called

MozReview-Commit-ID: Fx9XI0zR1gn

--HG--
extra : rebase_source : 360996760abab650684440fbeea258b43dccfd83
2017-10-19 16:51:04 +02:00
Sylvestre Ledru
0d4a611a04 Bug 1410472 - clang-plugin follows the LLVM coding style for real r=mystor
MozReview-Commit-ID: AXrQEjWzxvg

--HG--
extra : rebase_source : bf972fbb22648af2edbb756eb899ebddf8444dbc
2017-10-20 19:11:50 +02:00
Brian Stack
d3a8b56012 Bug 1406209 - Use .taskcluster.yml for action tasks templates r=dustin,jonasfj
MozReview-Commit-ID: 8I8lIouV6KF

--HG--
extra : rebase_source : 6961105d1a232e93cf2f73db9ca88f8b08278dc0
2017-10-09 18:39:00 -07:00
Tom Ritter
302cef9ace Bug 1407359 Set up a framework for patching the MinGW toolchain r=glandium
MozReview-Commit-ID: 8HtjLXAIXTP

--HG--
extra : rebase_source : b32cb4ac931c9dc599572bc5e726e4d68982c8a4
2017-10-16 20:52:47 -05:00
Ralph Giles
9681e0465c Bug 1408567 - Require Rust 1.20.0 or newer. r=nalexander
By the schedule we would have bumped the minimum-supported rust
version to 1.20.0 some weeks ago, just before Firefox 57 went to
beta. However, that was blocked on a couple of compatibility
issues with sccache and dsymutil. See bug 1396884.

Now that 1.20.0 is working in our automation builds, require
it for all builds to unblock servo and webrender upgrades.

Also update our integration test to verify building with
the new minimum.

MozReview-Commit-ID: 8otdix6f45f

--HG--
extra : rebase_source : 7d2550e8ddc772b45602bd488f174fc180e91484
2017-10-13 15:08:21 -07:00
Nick Alexander
0622c6d0b0 Bug 1405413 - Pre: Expand sparse checkouts in taskgraph for android-gradle-dependencies. r=dustin
MozReview-Commit-ID: 3GKDG50i7ql

--HG--
extra : rebase_source : 36ede48008703aa9be239f81ddeefb34441f32e8
2017-10-05 17:23:00 -07:00
Mike Hommey
0914d9c689 Bug 1408317 - Take endianness into consideration when looking for rust target. r=froydnj
--HG--
extra : rebase_source : 8e65363f4544f82f0e96ae7643402b7a5f41bb60
2017-10-13 18:33:30 +09:00
Mike Hommey
cfff009a09 Bug 1408277 - Add a toolchain job for clang 5.0. r=froydnj
--HG--
extra : rebase_source : 6a5a3e1db7b8a754181468914712a38f162d0f0d
2017-10-13 13:22:41 +09:00
Nick Alexander
34633c477b Bug 1352599 - Part 2: Add PROGUARD_JAR configure option. r=chmanchester
MozReview-Commit-ID: KOzcGY6txI6

--HG--
extra : rebase_source : 1fefdd2935b3e00fbd3234a832d827e91c1fcc75
2017-10-12 14:28:31 -07:00
Mike Hommey
9f2dd4775e Bug 1407468 - Replace multiple !JS_STANDALONE with MOZ_WIDGET_TOOLKIT. r=mshal
--HG--
extra : rebase_source : 4f9f9f583c3422ed0f8d1d65ea8e7575bd9baf2c
2017-10-05 14:50:01 +09:00
Mike Hommey
e0a1996b7e Bug 1381043 - Backport llvm r313872 to 3.9 to avoid llvm-dsymutil crashing on bad rust DWARF data. r=froydnj
Ideally, we'd backport it to the clang 4 toolchain too, but that results
in silently(!) missing crash symbols for libxul.

--HG--
extra : rebase_source : a3024abf720ea6e9dc0e3271a5aa2ebfae9bebee
2017-10-12 17:54:31 +09:00
Sebastian Hengst
5c00b8540d merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: AlcL6XYDkf
2017-10-12 23:58:31 +02:00
Andreas Farre
dfa8f6d79d Bug 1407207 - Make it possible to turn off budget throttling for pgo. r=ted
When generating the pgo profile the timeout background budget depletes
for build/pgo/index.html, due to the profiling build actually being
slower than ordinary builds. This defeats the purpose of budget, so
turn off background throttling with budget when generating the profile.
2017-10-12 14:57:36 +02:00
Sebastian Hengst
8ff69604ce merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-10-12 12:40:23 +03:00
Robert-André Mauchin
3d620068f1 Bug 1407211 - Fix typo in build/unix/run-mozilla.sh from bug 1403366. r=glandium 2017-10-12 07:28:20 +09:00
Sylvestre Ledru
358507fde2 Bug 1406650 - Make build/*.py and a few other files flake8 compatible and add them to the list of files to check r=chmanchester
MozReview-Commit-ID: icmFJtbWdN

--HG--
extra : rebase_source : 7b2ef783822bcad7f955bad8cbd6cea6df588f92
2017-10-07 16:45:22 +02:00
Sylvestre Ledru
816ba0c177 Bug 1406668 - Make build/moz.configure/*.configure compliant to the pep8 format + add to the list of directories to check r=glandium
MozReview-Commit-ID: 89NxxGUVjHV

--HG--
extra : rebase_source : 278ceb2d7d31da086216288bd54688fe25faa03b
2017-10-12 15:22:59 +02:00
Sebastian Hengst
3980c1732a Backed out changeset 4dc78384cb58 (bug 1406668) for flake8 linting failures. r=backout
--HG--
extra : rebase_source : 20f93207038c76e2804f255e4ebfdd5e03a8f7cc
2017-10-12 15:08:35 +02:00
Sylvestre Ledru
a102c9f46a Bug 1406668 - Make build/moz.configure/*.configure compliant to the pep8 format + add to the list of directories to check r=glandium
MozReview-Commit-ID: 89NxxGUVjHV

--HG--
extra : rebase_source : 658301cb32e9c042cd1931456e4e7b8f475900bd
2017-10-11 16:28:29 +02:00
Sebastian Hengst
7a40cdf1bb Backed out changeset b526011049ee (bug 1406668) for linting failures. r=backout
--HG--
extra : amend_source : fe8373f9572300c7fd090f529c6957fbf905d9ef
2017-10-12 14:41:28 +02:00
Sylvestre Ledru
4e4de3339f Bug 1406668 - Make build/moz.configure/*.configure compliant to the pep8 format + add to the list of directories to check r=glandium
MozReview-Commit-ID: 89NxxGUVjHV

--HG--
extra : rebase_source : 3d22007ea6793961e7031603efe58cdc66e3c6c9
2017-10-11 16:28:29 +02:00
Sylvestre Ledru
83284b8853 Bug 1406310 - Also ship clang-format in the clang-tidy build job r=glandium
MozReview-Commit-ID: 4C992sYlMo2

--HG--
extra : rebase_source : 818c9c4a73e66db7d60b55caf462d23fd352eec5
2017-10-06 09:50:48 +02:00
Sylvestre Ledru
7cb2262b1e Bug 1405982 - Rename the method "build_not_win_mac" to "is_linker_option_enabled" match what it is doing r=glandium
MozReview-Commit-ID: 3Kv9z79Cct8

--HG--
extra : rebase_source : 9b390845d2974ba2e6ccb9e8098f8c15bd21be92
2017-10-10 12:01:32 +02:00
Chris Peterson
925214d9af Bug 1406618 - Enable gcc -Wduplicated-cond warnings. r=glandium
Warn about duplicated conditions in if-else-if chains, which are unreachable code and likely copy/paste bugs. The -Wduplicated-cond flag is available in gcc 6 and later.

  int example(int a)
  {
    if (a == 0)
      a = 42;
    else if (a == 0) // -Wduplicated-cond warning!
      a = 43;
    return a;
  }

MozReview-Commit-ID: F9hqxMCct74

--HG--
extra : rebase_source : 71168f79ce8f03f650167cdedbbd2e5802846eab
2017-10-05 23:14:02 -07:00
Ralph Giles
6299f3d3dc Bug 1409533 - Require rust 1.21.0. r=froydnj
Per schedule, bump the minimum-supported rust version to 1.21.0
two weeks after its stable release so we can use new code which
depends on it.

MozReview-Commit-ID: Bn8UjvTC7uw
2017-10-26 13:06:28 -07:00
Sebastian Hengst
01cd7f3d0f merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: GbmY183Epi2
2017-10-10 23:56:11 +02:00
Petr Sumbera
ca36fd236b Bug 1405326 - check for linker fails on Solaris r=glandium
MozReview-Commit-ID: 8dDfivVaK8f

--HG--
extra : amend_source : 5286f58e958c54fc6a7cdf2af9258214b3226e1d
2017-10-03 07:15:24 -07:00
Sebastian Hengst
1a4a26905f merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-10-10 06:12:26 -03:00
David Major
32514fce52 Bug 1407017 - Make --with-visual-studio-version a js_option. r=ted 2017-10-09 12:16:00 -04:00
Makoto Kato
8ab65ab25c Bug 1397764 - Part 2. Generate BINDGEN_CFLAGS for Android. r=chmanchester
Building Fennec/Android uses cross compiler toolchain.  So we have to generate
clang options (include path for c++ headers and gcc headers, gcc-toolchain path and etc) from NDK path for bindgen.

The following options are required for android build.

  (from stlport_cppflags)
  -I$topsrcdir/android-ndk/sources/cxx-stl/llvm-libc++/libcxx/include
  -I$topsrcdir/android-ndk/sources/android/support/include
  -I$topsrcdir/android-ndk/sources/cxx-stl/llvm-libc++abi/libcxxabi/include"

  (others for clang)
  -isystem $topsrcdir/android-ndk/platforms/android-9/arch-arm/usr/include
  -gcc-toolchain $topsrcdir/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
  -I$topsrcdir/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/include
  -I$topsrcdir/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/lib/gcc/arm-linux-androideabi/4.9/include-fixed"

Also, since bindgen_cflags_defaults uses as default, some funcions requires '--help'.

MozReview-Commit-ID: 7zfhw3IxQ2W

--HG--
extra : rebase_source : 0ede4f0d1ec212cfe411f6abe0f55f4b0c70643d
2017-09-29 16:46:52 +09:00
Makoto Kato
6a7100fa7b Bug 1397764 - Part 1. Move STLPORT_CPPFLAGS to moz.configure. r=chmanchester
To build sytlo, we have to set compiler flags via BINDGEN_CFLAGS.  Since we
 pass stlport flags to clang, I would like to move STLPORT_CPPFLAGS to
moz.configure.

MozReview-Commit-ID: 26jvUqUvwTY

--HG--
extra : rebase_source : 5568627368fbf2dce02904918e50a241713d0a85
2017-09-29 16:45:44 +09:00
Jan Henning
a31bec0c1f Bug 1407029 - Accept Android lint dependencies from SDK versions 26.0.0*. r=nalexander
MozReview-Commit-ID: GHMRossAUaB

--HG--
extra : rebase_source : c4ad6eddd4436c6169b98913a5aa9e085e15a70e
2017-10-09 21:54:54 +02:00
Jeremy Chen
0288650258 Bug 1403077 - add tests for the stylo blocklist mechanism. r=heycam,leplatrem
In this patch, we add 3 tests:
1. test for blocked domain
2. test for blocked sub-domain
3. test for non-blocked domain

MozReview-Commit-ID: JzMImsbGoPr

--HG--
extra : rebase_source : 0eed42f6d2815bd8adbb9fb6be54b6feb3b1bcc8
2017-10-05 17:33:10 +08:00
Christian Holler
a351d70944 Bug 1406081 - Make --enable-coverage flag available in JS shell. r=froydnj
MozReview-Commit-ID: 5GGTGu2oMc3

--HG--
extra : rebase_source : 85c079b02f6b408ddfd13e518ed136c3a26b20b1
2017-10-05 18:30:26 +02:00
Boris Zbarsky
9a669f71b3 Bug 1406140 followup. Fix the formatting so the CLOSED TREE is less red.
MozReview-Commit-ID: LAskse3XmLN
2017-10-06 09:54:31 -04:00
Sylvestre Ledru
772b9c6088 Bug 1406140 - build-clang.py: flake8 consitency r=andi
MozReview-Commit-ID: 6w1QesvVyyc

--HG--
extra : rebase_source : 759fb035a3ffe7c9e8963f9861548d917acb695e
2017-10-05 21:03:19 +02:00
Sylvestre Ledru
fbc1ec3b7d Bug 1406140 - Simplify a bit the code to have a single call to build_tar_package r=andi
MozReview-Commit-ID: 9yGw8bJhQwR

--HG--
extra : rebase_source : e3ed5144a8bbdd6e3bba27d97decd6935904e3cb
2017-10-05 21:00:25 +02:00
Sebastian Hengst
cade0f0bf3 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: CsjtXJM2vcs
2017-10-05 10:55:31 +02:00
Andi-Bogdan Postelnicu
9ba9d1c984 Bug 1405602 - Add clang-apply-replacements to the clang-tidy build generated by toolchains. r=ehsan
MozReview-Commit-ID: 1BT2ukzLoC3
2017-10-04 18:27:02 +03:00
Wes Kocher
382a7d90d6 Merge inbound to central, a=merge
MozReview-Commit-ID: CvJ9hmTQBcR
2017-10-02 16:22:37 -07:00
Nathan Froyd
f0fcd23367 Bug 1373878 - part 2 - build system support for Rust tests; r=rillian 2017-10-02 09:21:22 -04:00
Nathan Froyd
2d3d2c4950 Bug 1373878 - part 1 - add --enable-rust-tests configure option; r=rillian
Because Rust tests require panic=unwind crates and therefore recompiling
all crates we normally use (since most of our crates use panic=abort),
we've elected to enable Rust tests only if the user asks for it.  Hence,
this configure option.

The configure option also enables build-time execution of the crates,
since it's not straightforward to determine at configure time the name
of the test binary Cargo will produce (Cargo produces test binaries of
the form ${NAME}-${HEX_FINGERPRINT}, but there's no way to determine
what ${HEX_FINGERPRINT} is without actually compiling the test binary).
2017-10-02 09:21:22 -04:00
Aki Sasaki
26844dcf4a bug 1345619 - point at browser/locales/l10n-changesets.json. r=Callek
At this point, we could tear out the `ignore-locales` attribute, since
l10n-bumper supplies that information. However, we may want to use flatfiles
for something; `ignore-locales` allows for that.

MozReview-Commit-ID: 8mD4iav3bKx

--HG--
extra : rebase_source : abe2075503838223a2c150676b9c72a1aa74df59
2017-09-25 10:17:20 -07:00
Wes Kocher
eb9a2ed0f2 Merge inbound to central, a=merge
MozReview-Commit-ID: IqwKWn7ceHC
2017-09-29 14:47:25 -07:00
Marco Castelluccio
587fb629ee Bug 1401230 - Apply compiler-rt patch to avoid crashes on shutdown when unloading shared libraries. r=glandium
--HG--
extra : rebase_source : f0f45488881d10c0c00bebe4f5dd2d3d36d0b25e
2017-09-20 22:52:15 +02:00
Tom Prince
518a10833d Bug 1403982: Pass --disable-xcode-checks to js/src's configure; r=gps
MozReview-Commit-ID: I9rSz26D1nR

--HG--
extra : rebase_source : 4c9c0c57863310714ddf61a635300dc1846f5d9d
2017-09-28 09:46:30 -06:00
Mike Shal
9e6798ac00 Bug 1402012 - Update buildconfig.py to use PartialConfigEnvironment; r=glandium
By using the PartialConfigEnvironment, the clients of buildconfig will
depend on config.statusd/ files instead of config.status directly.
Clients can access substs and defines using buildconfig.substs['FOO'] or
buildconfig.defines['BAR'], and then collect file-level dependencies for
make using buildconfig.get_dependencies(). All GENERATED_FILES rules
already make use of this because file_generate.py automatically includes
these dependencies (along with all python modules loaded).

As a result of this commit, re-running configure will no longer cause
the world to be rebuilt. Although config.status is updated, no build
steps use config.status directly and instead depend on values in
config.statusd/, which are written with FileAvoidWrite. Since those
files are not official targets according to the make backend, make won't
try to continually rebuild the backend when those files are out of date.
And since they are FileAvoidWrite, make will only re-run dependent steps
if the actual configure value has changed.

As a result of using JSON to load data from the config.statusd
directory, substs can be unicode (instead of a bare string type).
generate_certdata.py converts the subst manually to a string so the
value can be exported to the environment without issue on Windows.

Additionally, patching the buildconfig.substs dict no longer works, so
the unit-symbolstore.py test was modified to patch the underlying
buildconfig.substs._dict instead.

The other files that needed to be modified make use of all the defines
for the preprocessor. Those that are used during 'mach build' now use
buildconfig.defines['ALLDEFINES'], which maps to a special
FileAvoidWrite file generated for the PartialConfigEnvironment.

MozReview-Commit-ID: 2pJ4s3TVeS8

--HG--
extra : rebase_source : d6bb0208483f9f043e7be1b36907ca13243985f8
2017-08-24 22:52:01 -04:00
Sebastian Hengst
6a0c7a5682 Backed out changeset 28b00bdf83a3 (bug 1403366) 2017-09-29 17:19:35 +02:00
Sebastian Hengst
863d9030ca Backed out changeset 48a74b8750b4 (bug 1403366) 2017-09-29 17:19:22 +02:00
Mike Hommey
4c9ac7836e Bug 1403366 - Remove the --with-default-mozilla-five-home configure flag. r=froydnj
--HG--
extra : rebase_source : e2723771fb76392269ea27de00c590e2e2bc6d9b
2017-09-28 11:02:45 +09:00
Mike Hommey
8142d74974 Bug 1403366 - Don't set MOZILLA_FIVE_HOME from multiple scripts. r=froydnj
It was seldom used before previous commit and now does nothing.

--HG--
extra : rebase_source : 59ba89dbd8de9c0b9361872f3f45504a46f454a2
2017-09-28 11:00:09 +09:00
Mike Hommey
4d379e455b Bug 1403366 - Remove the --with-default-mozilla-five-home configure flag. r=froydnj
--HG--
extra : rebase_source : 354efac644a7fdeea507c0e87cf44183d773413d
2017-09-28 11:02:45 +09:00
Mike Hommey
37d01456dc Bug 1403366 - Don't set MOZILLA_FIVE_HOME from multiple scripts. r=froydnj
It was seldom used before previous commit and now does nothing.

--HG--
extra : rebase_source : e0b1dcdabe798af478e054cde0df65facf25ea21
2017-09-28 11:00:09 +09:00
Sebastian Hengst
2e58d81866 Backed out changeset ff0705eda4bd (bug 1403366) 2017-10-04 01:26:56 +02:00
Sebastian Hengst
15179c0abe Backed out changeset aa58d5c8fe1a (bug 1403366) 2017-10-04 01:26:45 +02:00
Mike Hommey
d9378b1e26 Bug 1403366 - Remove the --with-default-mozilla-five-home configure flag. r=froydnj
--HG--
extra : rebase_source : 354efac644a7fdeea507c0e87cf44183d773413d
2017-09-28 11:02:45 +09:00
Mike Hommey
5f2f5b4e64 Bug 1403366 - Don't set MOZILLA_FIVE_HOME from multiple scripts. r=froydnj
It was seldom used before previous commit and now does nothing.

--HG--
extra : rebase_source : e0b1dcdabe798af478e054cde0df65facf25ea21
2017-09-28 11:00:09 +09:00
Gregory Szorc
5c1ab3be87 Bug 1395907 - Require Visual Studio 2017 15.3+; r=glandium
There is a known compilation bug that is fixed in Visual Studio 2017
15.3.

This commit establishes minimum version requirements for Visual
Studio 2017 to ensure modern and more supported toolchains are used.

We previously only had a minimum version requirement for Visual
Studio 2015.

MozReview-Commit-ID: WRrry8J5Yf

--HG--
extra : rebase_source : 1e60bb4277ae1ec679cfa103b0a730a7260b52c2
2017-09-27 11:28:37 +02:00
Gregory Szorc
a1b0fe8ef7 Bug 1366564 - Validate Xcode installation state in configure; r=rillian
MozReview-Commit-ID: 9dNuGqaqZyU

--HG--
extra : rebase_source : a4ab1dfe3f98edf3503a6c9b4f675c457e7149a4
2017-09-26 19:56:38 +02:00
Mike Hommey
6a8726dd5f Bug 1319332 - Derive the rust targets from the build host/target. r=froydnj
--HG--
extra : rebase_source : acf6ee7f0a3f172480e653acc58c5ced1c13c254
2017-10-05 16:10:45 +09:00
Tom Ritter
095b4bfda8 Bug 1330608 Add the MinGW32 toolchain build to Taskcluster r=glandium
MozReview-Commit-ID: JHS6y8kqr4T

--HG--
extra : rebase_source : e04692af64312db7028d4123075e02d8b9127ef2
2017-09-22 00:24:58 -05:00
Tom Ritter
83f834aede Bug 1392643 Turn on c++14 for MinGW globally r=bagder,froydnj
Technically this turns on gnu++14. I encountered a few errors when using c++14:
1) _USE_MATH_DEFINES needed to be defined for MinGW
2) MinGW did not define _finite under c++14
3) MinGW's float.h did not define Microsoft specific float functions under c++14

All of these were because c++14 defines _STRICT_ANSI_ which MinGW obeys and
avoids defining certain functions. The first two could be patched around, but
the third was a blocker, so we switched to gnu++14

MozReview-Commit-ID: 6Y7gEQgApYp

--HG--
extra : rebase_source : dabbd40c049c36e780b585e0bef0a8e25887d089
2017-09-22 12:26:42 -05:00
Chris Manchester
68ede80645 Bug 1401654 - Move MOZ_WEBRTC and some related defines to moz.configure. r=mshal
MozReview-Commit-ID: Kp7lCLqJ6FH

--HG--
extra : rebase_source : f2f9d3fb85e1c22df6c0c7cee3072e54a8b8b3e0
2017-09-20 16:29:39 -07:00
Wes Kocher
6e84ca9226 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 7rJ9fpLBazL
2017-09-22 15:06:12 -07:00
Gregory Szorc
82072f534d Bug 1402233 - Add web platform tools files to taskgraph sparse profile r=mshal
This is needed so we can import the WPT manifest parser.

Like for the reftest parser, this should only be temporary until we no
longer parse test manifests as part of Files() evaluation.

MozReview-Commit-ID: 2dmUfP8tLd2

--HG--
extra : rebase_source : 36624618f96fc89bae88172947b21108740d841d
2017-09-22 11:12:56 -07:00
Geoff Brown
3c8e31bdb7 Bug 1402347 - Be more exact in Android tests when checking run time; r=jmaher 2017-09-22 11:32:38 -06:00
Phil Ringnalda
9728bc3636 Merge m-c to m-i
MozReview-Commit-ID: LQmIsTRxble
2017-09-21 20:49:43 -07:00
Gregory Szorc
136001aa15 Bug 1402142 - Expand taskgraph sparse checkout to support moz.build evaluation; r=glandium
Some moz.build files need to import in-tree Python modules in order to
parse test manifests. While bug 1402010 details a better solution
to remove this requirement, the easy fix is to expand the sparse
checkout to include the missing files.

MozReview-Commit-ID: FSx6u6r2XfE

--HG--
extra : rebase_source : 6e406dd76b4f78521cbbdc40110d0610c75e2b08
extra : amend_source : f68341a14f50c8ff6e7b62214fa455b75eabe908
2017-09-21 15:37:52 -07:00
Wes Kocher
640a5d3c46 Merge m-c to inbound, a=merge
MozReview-Commit-ID: IsEMW5gXG3W
2017-09-21 17:04:36 -07:00
Axel Hecht
3dc36a71a4 bug 1382005, update compare-locales to 2.1, r=glandium
Vendor new dependency for compare-locales, python-fluent.
This is the 0.4.2 release of python-fluent.

Also, make mach command a bare minimum wrapper.

The compare-locales mach command used to own a couple of defaults
and opinions.
Now that those opinions and defaults are in the Makefiles, this
command can be much simpler. As a side effect, this should
make the thunderbird port easier, where none of the mach defaults
worked.

Update l10n.mk for compare-locales 2.x:

The command line interface is different now, with positional arguments.
Also, the l10n config file isn't a default anymore (that never worked
for thunderbird).
And the merge dir is now the parent of the locale dir, much like
we already anticipated in the code.

MozReview-Commit-ID: DxVVKyVSt5y

--HG--
extra : rebase_source : 7c591fea8c7d9ecef615fb56f9359d4f1bd4b340
2017-09-18 18:31:24 +02:00
Gregory Szorc
ff3d54d6f6 Bug 1401725 - Use sparse checkouts for toolchain tasks; r=glandium
Strictly speaking we don't need all files in the directories listed
in the profile. But the checkout is still small enough and it is far
less effort than cherry-picking every file needed by every toolchain
task.

This brings the checkout down to ~3700 files, which only takes 1-2s.

MozReview-Commit-ID: 2BpKdZ2Pvx9

--HG--
extra : rebase_source : e9589b29f7e1b60ac7ee4e8050689dc3d5a8f418
extra : source : 2c0d6e566cc719823515ec2403e1d6b2ace955aa
2017-09-21 07:30:49 -07:00
Nathan Froyd
acc7776ea7 Bug 1325632 - part 1 - modify re-checking the compiler with flags; r=glandium
toolchain.configure checks for information about the compilers we're
using and accumulates additional flags that we might need to
pass (e.g. switches for C/C++ versions, proper compiler targets, etc.),
and then rechecks the compilers with those additional flags to verify
that those flags are sufficient to configure the compiler properly.
Only after we've checked for the proper flags do we move on to verifying
the compiler versions are sufficient.

It's possible, however, that the flags we try to add might not be
supported by the compiler being tested, in which case we'd get an
unfriendly error about an "unknown compiler", rather than something like
"version X of Y not supported".  In this case, we'd rather use the
information we gathered from the first run to provide information
messages.  So we modify the second check to ignore any thrown exceptions
during the check itself.

This change results in another problem: the check for whether we had any
extraneous flags is done prior to version checks for the compilers we
support, which is also unhelpful.  We choose to move this check after
the version checks themselves.
2017-09-21 12:40:02 -05:00
Makoto Kato
08e9866266 Bug 1350822 - Remove --with-android-gnu-compiler-version. r=glandium
gcc 4.9 is the last version in Android NDK and our minimum requirement of gcc is 4.9+.  --with-android-gnu-compiler-version is unnecessary option because gcc version of Android is always 4.9.

MozReview-Commit-ID: 1sutqlvbQU5

--HG--
extra : rebase_source : 77e42aba81da5276bcddd945ea41895ce2461afa
2017-09-20 20:34:18 +09:00
Dustin J. Mitchell
7bddde4cb2 Bug 1383880: add support for optimizing tasks based on SCHEDULES; r=ahal
This adds some new optimization strategies.  For tests, we use Either(SETA,
SkipUnlessSchedules), thereby giving both mechanisms a chance to skip tasks. On
try, SETA is omitted.

MozReview-Commit-ID: GL4tlwyeBa6

--HG--
extra : rebase_source : f208e4960cf76a9dfe77634b87f0058f676e9fa9
extra : source : 046d705929f7a41e977eec19c8503afccdec7592
2017-08-23 16:21:06 +00:00
Mike Hommey
6be61a27e7 Bug 1401005 - Handle the case where the relocation addend is not found at the relocation location. r=froydnj
--HG--
extra : rebase_source : 58c6dfbe9fc584bbbbce2b9739a374a465823b32
2017-09-21 11:37:30 +09:00
Gregory Szorc
67018b4be3 Backed out changeset af6c2544903e (bug 1401725) for uncovering a taskgraph bug 2017-09-21 07:43:49 -07:00
Gregory Szorc
9296e16c08 Bug 1401725 - Use sparse checkouts for toolchain tasks; r=glandium
Strictly speaking we don't need all files in the directories listed
in the profile. But the checkout is still small enough and it is far
less effort than cherry-picking every file needed by every toolchain
task.

This brings the checkout down to ~3700 files, which only takes 1-2s.

MozReview-Commit-ID: 2BpKdZ2Pvx9

--HG--
extra : rebase_source : 916c6722c6d495cdccea0076c673d75e4ee48f28
extra : source : 2c0d6e566cc719823515ec2403e1d6b2ace955aa
2017-09-21 07:30:49 -07:00
Phil Ringnalda
aad01e0dc2 Backed out 12 changesets (bug 1383880) for decision task bustage
CLOSED TREE

Backed out changeset fd3615e7e0a3 (bug 1383880)
Backed out changeset 8cceb6a82bfb (bug 1383880)
Backed out changeset 571a6c9054a5 (bug 1383880)
Backed out changeset ec2b8ba5a949 (bug 1383880)
Backed out changeset 8e5847d9acda (bug 1383880)
Backed out changeset b354fdf6e233 (bug 1383880)
Backed out changeset ebdd6ccbcfca (bug 1383880)
Backed out changeset ebcc9d20981a (bug 1383880)
Backed out changeset 97eedc84d6e8 (bug 1383880)
Backed out changeset a3116da52b4e (bug 1383880)
Backed out changeset b3eb0c939720 (bug 1383880)
Backed out changeset 7c07cb798530 (bug 1383880)

MozReview-Commit-ID: EPDuQHr7w2y
2017-09-20 19:57:39 -07:00
Dustin J. Mitchell
0ad6fa01b1 Bug 1383880: add support for optimizing tasks based on SCHEDULES; r=ahal
This adds some new optimization strategies.  For tests, we use Either(SETA,
SkipUnlessSchedules), thereby giving both mechanisms a chance to skip tasks. On
try, SETA is omitted.

MozReview-Commit-ID: GL4tlwyeBa6

--HG--
extra : rebase_source : 4cf3efc9c57bb14d2f44147c8881d0a0a18703d6
extra : source : 046d705929f7a41e977eec19c8503afccdec7592
2017-08-23 16:21:06 +00:00
Makoto Kato
44d3f0277d Bug 1401448 - Remove libstdc++ support from Android buildconfig. r=froydnj
libstdc++ support is broken after moving to moz.configure.  No one uses this option and NDK will remove GCC, so we should remove this and --with-android-cxx-stl option.

MozReview-Commit-ID: 3mqyHoRCE00

--HG--
extra : rebase_source : 35aa911a69e159e67f624ab5ab9aea8af4c5342f
2017-09-20 16:38:48 +09:00
Wes Kocher
1ea82f66aa Merge m-c to autoland, a=merge
MozReview-Commit-ID: AHxJvcR2Tpa
2017-09-20 17:47:16 -07:00
Ralph Giles
a7c4cd8963 Bug 1394696 - stylo: Suppress valgrind warning. r=jseward
LLVM can optimize code to a form `if B && A` when A is
always false but B is undefined. This triggers a valgrind
memcheck warning since the conditional depends on undefined
data but in practice it can never have side-effects.

Rust 1.20.0 seems to trigger this in the Option code. Since
we believe the transform is correct in these cases and
valgrind is incorrect to warn, we surpress the error.

Thanks to Julian Seward for the analysis and help
writing the suppression entries.

MozReview-Commit-ID: pF1Bmy5PRY
2017-09-20 09:19:18 -07:00
Mike Hommey
4a2740def4 Bug 1401453 - Don't keep libmemory.a separate anymore. r=gps
This was done in bug 736564 for the xulrunner SDK, which later became
the firefox SDK, which is now gone. So we don't actually need to keep it
separate anymore (except for logalloc/replay, which still needs to link
it directly, so we keep the library definition intact so it can be
referenced ; we just don't DIST_INSTALL it anymore, and always make it
linked into mozglue)

--HG--
extra : rebase_source : e4d0627ec907fe0139df5c0b2b9f7d04b43c7c78
2017-09-20 14:23:57 +09:00
Chris Manchester
73a827ed43 Bug 1398897 - Move includes associated with CPP_UNIT_TESTS to the CppUnitTests template. r=glandium
MozReview-Commit-ID: DhjnzhAjoyy

--HG--
extra : rebase_source : 75faf6212f3a9913d75ecb223f29ce7e9ac46a1c
2017-09-20 12:43:24 -07:00
Nick Alexander
a59961df22 Bug 1396098 - part 0b - rename android-gradle-build to android-build; r=glandium,dustin
The name `android-gradle-build` is an accident of history; let's rename it
before we attempt major surgery on it.

--HG--
rename : taskcluster/docker/android-gradle-build/Dockerfile => taskcluster/docker/android-build/Dockerfile
rename : taskcluster/docker/android-gradle-build/README.md => taskcluster/docker/android-build/README.md
rename : taskcluster/docker/android-gradle-build/REGISTRY => taskcluster/docker/android-build/REGISTRY
rename : taskcluster/docker/android-gradle-build/VERSION => taskcluster/docker/android-build/VERSION
rename : taskcluster/docker/android-gradle-build/buildprops.json => taskcluster/docker/android-build/buildprops.json
rename : taskcluster/docker/android-gradle-build/dot-config/pip/pip.conf => taskcluster/docker/android-build/dot-config/pip/pip.conf
rename : taskcluster/docker/android-gradle-build/oauth.txt => taskcluster/docker/android-build/oauth.txt
2017-09-18 15:38:22 -04:00
Makoto Kato
209f37db12 Bug 1400128 - Link thumb library of libc++ when using MOZ_THUMB=1 and NDK r11c. r=froydnj
cpu_arch_dir isn't absolute path, we cannot always detect thumb library for c++ library.  Our build tool still uses NDK r11c, so we should check thumb library correctly.

MozReview-Commit-ID: 912ZDNeUcKc

--HG--
extra : rebase_source : 8b69348ef3280f32b7a228d66462070413a25e73
2017-09-15 13:40:43 +09:00
Sebastian Hengst
006a58c35d merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 2iVDKexRjxu
2017-09-13 23:58:43 +02:00
Botond Ballo
c080667b4c Bug 1398966 - Suggest checking JAVA_HOME if javac is out of date. r=nalexander
MozReview-Commit-ID: FJDrLsTxwIr

--HG--
extra : rebase_source : 758b365905202ece86154e52bf88e6096a11b817
2017-09-11 19:06:26 -04:00
Bob Owen
d64bab3c76 Bug 1380609: Make Windows Universal CRT SDK version 10.0.10586.0 the minimum. r=glandium 2017-09-13 11:19:40 +01:00
Nathan Froyd
397f70843c Bug 1396882 - pass extra_toolchain_flags to linker detection invocation; r=glandium
The linker detection essentitally invokes `$CC -Wl,--version` to
determine which linker will be used.  This invocation works OK for GCC
from the Android NDK, which can find the linker in the same directory;
it doesn't work so well for clang from the NDK, which needs additional
command-line options to point at the directory containing the linker.

We already have extra_toolchain_flags for communicating such options to
other compiler invocations for the target; we should be using
extra_toolchain_flags here as well.
2017-09-12 09:52:13 -04:00
Kartikaya Gupta
46bcf3cd76 Bug 1401651 - Remove obsolete documentation entries. r=cpeterson
MozReview-Commit-ID: FNmqm8cjj15

--HG--
extra : rebase_source : eeb00e7c8a55533a859dd9344091db1993398360
2017-09-20 14:07:43 -04:00
Chris Manchester
fab07bc443 Bug 1386876 - Replace all uses of NO_VISIBILITY_FLAGS with a template and remove NO_VISIBILITY_FLAGS. r=glandium
MozReview-Commit-ID: 194U1WMCAM0

--HG--
extra : rebase_source : 365b68b0a1772d238ae9b84966e53dcd1197fd85
2017-05-01 18:12:35 -07:00
Chris Manchester
26d4e4810c Bug 1386876 - Move visibility flag handling to computed compile flags with templates. r=glandium
MozReview-Commit-ID: 9hwiCQv8WKU

--HG--
extra : rebase_source : cc7593fd06949a432dd056194ff19c1ac0daf4e4
2017-09-11 11:36:31 -07:00
Chris Manchester
c0a229d4c3 Bug 1386876 - Replace all uses of DISABLE_STL_WRAPPING with a template, remove DISABLE_STL_WRAPPING. r=glandium
MozReview-Commit-ID: FMEtb5PY7iP

--HG--
extra : rebase_source : 3cdee7528846462c758e623d6bcd2e6e17dbabff
2017-09-11 11:33:26 -07:00
Chris Manchester
e059037e2b Bug 1386876 - Add classes to handle compile flags computed by moz.build with templates, convert 'DISABLE_STL_WRAPPING' to use them. r=glandium
MozReview-Commit-ID: 3PYOtX4E8OC

--HG--
extra : rebase_source : 162999582bc2ef078680ce6feae628d5b1f4e857
2017-04-28 16:35:19 -07:00
Ted Mielczarek
f928fcd5fa Bug 1324892: Update Mac builds to use the OS X 10.11 SDK. r=mshal 2017-09-08 15:49:13 -04:00
Sebastian Hengst
04b27c364d Backed out changeset ea1de92a83a1 (bug 1324892) for toolchain bustage. r=backout on a CLOSED TREE 2017-09-08 19:47:47 +02:00
Ted Mielczarek
5e105a0326 Bug 1324892: Update Mac builds to use the OS X 10.11 SDK. r=mshal 2017-09-08 13:30:35 -04:00
Eric Rahm
030b39d813 Bug 1393230 - Part 3: Convert the xpcom string classes to be templated on char type. r=njn, r=fitzgen, r=sfink
This removes the double-include macro hackery that we use to define two
separate string types (nsAString and nsACString) in favor of a templated
solution.

Annotations for Valgrind and the JS hazard analysis are updated as well as
the rust binding generations for string code.

--HG--
extra : rebase_source : 63ab2c4620cfcd4b764d42d654c82f30f984d016
extra : source : 9115364cd4aa078c49bba7911069f8178e55166f
2017-08-14 14:22:50 -07:00
Gregory Szorc
7be30dd863 Bug 1395752 - Define and use sparse profile for Sphinx docs; r=dustin
The Sphinx documentation only needs access to a relatively small number
of files in the repo in order to be generated. It is a good candidate
for using sparse profiles.

This commit defines and uses a "sphinx-docs" sparse profile containing
only the files relevant to Sphinx documentation generation.

There are some quirks with the profile:

* All moz.build files are included. This bloats the profile
  by >1000 files. Worse, it realizes directories that have no business
  being realized. This clutters the checkout and makes it harder to
  find things. There is a moz.build reader that knows how to retrive
  file data from Mercurial. We could use that. This feels like follow-up
  fodder.

* All mach_commands.py files are included. `mach help` says you can do
  things that you aren't able to do in the sparse checkout. There isn't
  a good way to add all *.py files while excluding mach_commands.py
  files. We /could/ do it with regular expressions. But those are slow.
  Let's leave it as is for now and come up with a better solution later.

MozReview-Commit-ID: 7yiqGGE1nAh

--HG--
extra : rebase_source : c148040ea3618e8bfdd369b6f48fc60c6d179285
extra : source : b76e2f6204b20de137f2566dff8121ff3abe5760
2017-08-22 22:25:38 -07:00
Jim Chen
c3c2bfc408 Bug 1378410 - 2a. Expose set to moz.build sandbox; r=gps
To construct an empty set, we need to use the `set()` notation. In order
to do that, we need to expose `set` to the moz.build sandbox.

MozReview-Commit-ID: DMyKnF0FEx2

--HG--
extra : rebase_source : 5cfe8080ec333a1eca70cd3edba2aaaff6406820
2017-09-01 14:02:30 -04:00
Jim Chen
f0ca31be3a Bug 1378410 - 1. Support BuildFlag annotation for generated bindings; r=snorp
Add a BuildFlag annotation, which when specified for classes, will wrap
generated code in `#ifdef` or `#ifndef` blocks. This functionality is
used for conditionally excluding generated code when NIghtly becomes
Beta, without the need to regenerate bindings.

MozReview-Commit-ID: L2NFM8CHKqF

--HG--
extra : rebase_source : 6ebc82d11fd1aa4aeb57a46262e678480d23de83
2017-09-01 14:02:29 -04:00
Gregory Szorc
d369594b32 Bug 1393242 - Vendor python-hglib 2.4; r=mshal
python-hglib is a Python client for Mercurial's command server. It
facilitates querying Mercurial efficiently (using a single process)
and without having to parse output in the common case.

Let's vendor it so we can make use of it for more advanced Mercurial
scenarios.

Content vendored from changeset 820d7c1e470a without modifications
(other than deleting unwanted files).

As part of vendoring, we add the package to the virtualenv and make
it available to mach.

MozReview-Commit-ID: F4KLbW1lAvk

--HG--
extra : rebase_source : ad81f3aa4843312d300d80ce563d40736af2c16a
2017-08-23 15:06:18 -07:00
Ryan VanderMeulen
1a86da24ad Backed out 9 changesets (bug 1383880) for decision task bustage.
Backed out changeset 53f5d47a7cb0 (bug 1383880)
Backed out changeset a0abda41172a (bug 1383880)
Backed out changeset 729a7e2091e8 (bug 1383880)
Backed out changeset a33f5a14a471 (bug 1383880)
Backed out changeset 5b10d321cfee (bug 1383880)
Backed out changeset 8056488d8aed (bug 1383880)
Backed out changeset e62c90e3c1e8 (bug 1383880)
Backed out changeset 91f116ce6c2a (bug 1383880)
Backed out changeset 045498bc36c4 (bug 1383880)
2017-09-01 15:37:08 -04:00
Dustin J. Mitchell
671dda0818 Bug 1383880: add support for optimizing tasks based on SCHEDULES; r=ahal
This adds some new optimization strategies.  For tests, we use Either(SETA,
SkipUnlessSchedules), thereby giving both mechanisms a chance to skip tasks. On
try, SETA is omitted.

MozReview-Commit-ID: GL4tlwyeBa6

--HG--
extra : rebase_source : 0c1ce762afc7a691788379d4f4206df106f6df63
2017-08-23 16:21:06 +00:00
Mike Hommey
db9abf4e98 Bug 1395070 - Remove the MOZ_MEMORY_$platform defines. r=njn
--HG--
extra : rebase_source : d98dc4afaec44a3c65e4e1ff34824f6f8c512c8d
2017-08-30 17:01:30 +09:00
Tom Ritter
d97705b95f Bug 1393607 Do not package tests if they are not enabled r=mshal
MozReview-Commit-ID: 1wQV41Nf8V5

--HG--
extra : rebase_source : e02b2b11935a177143328960af1505ba8b767252
2017-08-29 12:34:40 -05:00
Johan Lorenzo
a716c447c0 Bug 1384482 - Rename android-api-15 into android-api-16 r=mtabara
MozReview-Commit-ID: 4j66pTZEJzq

--HG--
rename : mobile/android/config/mozconfigs/android-api-15-frontend/nightly => mobile/android/config/mozconfigs/android-api-16-frontend/nightly
rename : mobile/android/config/mozconfigs/android-api-15-gradle-dependencies/nightly => mobile/android/config/mozconfigs/android-api-16-gradle-dependencies/nightly
rename : mobile/android/config/mozconfigs/android-api-15-gradle/nightly => mobile/android/config/mozconfigs/android-api-16-gradle/nightly
rename : mobile/android/config/mozconfigs/android-api-15-gradle/nightly-artifact => mobile/android/config/mozconfigs/android-api-16-gradle/nightly-artifact
rename : mobile/android/config/mozconfigs/android-api-15/debug => mobile/android/config/mozconfigs/android-api-16/debug
rename : mobile/android/config/mozconfigs/android-api-15/debug-artifact => mobile/android/config/mozconfigs/android-api-16/debug-artifact
rename : mobile/android/config/mozconfigs/android-api-15/l10n-nightly => mobile/android/config/mozconfigs/android-api-16/l10n-nightly
rename : mobile/android/config/mozconfigs/android-api-15/nightly => mobile/android/config/mozconfigs/android-api-16/nightly
rename : mobile/android/config/mozconfigs/android-api-15/nightly-artifact => mobile/android/config/mozconfigs/android-api-16/nightly-artifact
rename : mobile/android/config/mozconfigs/android-api-15/nightly-old-id => mobile/android/config/mozconfigs/android-api-16/nightly-old-id
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_artifact.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_artifact.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_debug_artifact.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_debug_artifact.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_artifact.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_artifact.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle_dependencies.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_dependencies.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_old_id.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_old_id.py
rename : testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_partner_sample1.py => testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_partner_sample1.py
rename : testing/mozharness/configs/single_locale/ash_android-api-15.py => testing/mozharness/configs/single_locale/ash_android-api-16.py
rename : testing/mozharness/configs/single_locale/date_android-api-15.py => testing/mozharness/configs/single_locale/date_android-api-16.py
rename : testing/mozharness/configs/single_locale/jamun_android-api-15.py => testing/mozharness/configs/single_locale/jamun_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-aurora_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-aurora_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-beta_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-beta_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-central_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-central_android-api-16.py
rename : testing/mozharness/configs/single_locale/mozilla-release_android-api-15.py => testing/mozharness/configs/single_locale/mozilla-release_android-api-16.py
rename : testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_15.py => testing/mozharness/configs/single_locale/staging_release_mozilla-beta_android_api_16.py
rename : testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_15.py => testing/mozharness/configs/single_locale/staging_release_mozilla-release_android_api_16.py
rename : testing/mozharness/configs/single_locale/tc_android-api-15.py => testing/mozharness/configs/single_locale/tc_android-api-16.py
rename : testing/mozharness/configs/single_locale/try_android-api-15.py => testing/mozharness/configs/single_locale/try_android-api-16.py
extra : rebase_source : d24bd3b0298e4fc21e9e8029e5f69a65fd1012f9
2017-08-09 16:18:15 +02:00
Makoto Kato
f1c26e1010 Bug 1391547 - DIA SDK is missing when using MSVS2017. r=ted.mielczarek
MSVC path: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.11.25503
DIA SDK path: C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\DIA SDK

dia_sdk_dir of windows.configure tries finding invalid path.

MozReview-Commit-ID: KQDNA1tdpW2

--HG--
extra : rebase_source : 5a5cf32202ac55ae773b3c11f65a4cb304bff417
2017-08-22 15:16:07 +09:00
David Major
3bc8841ee2 Bug 1356652 - Add Speedometer files to the PGO training list; r=ted
MozReview-Commit-ID: 9Ei8p0t1JbB

--HG--
extra : rebase_source : 63a169a38ae8f2bd1fcd86245aee7fbb8b139e6b
2017-08-25 13:24:01 -07:00
Gregory Szorc
7253036dad Bug 1356652 - Expose Speedometer to PGO HTTP server; r=froydnj,glandium
The HTTP server can dynamically map URLs to local filesystem paths.
We employ this so Speedometer's files are available to the server.

MozReview-Commit-ID: EpF1aD6meZH

--HG--
extra : rebase_source : 70f80e073c2bec92c9429dcc35cd12e27018f3cb
2017-08-25 10:33:11 -07:00
Wander Lairson Costa
82b8df7dff Bug 1338651 part 2: Add suppression for leaks in libllvm-3.6-mesa. r=jseward
New leaks emerged after updating docker images for new home path [1].

[1] https://treeherder.mozilla.org/#/jobs?repo=try&revision=0477c33232a7&selectedJob=122583760

MozReview-Commit-ID: B1Yu4eSweo7

--HG--
extra : rebase_source : e07a25ea0e8c83eb680b4d3ac7cdbc96964135f8
2017-08-28 08:44:51 -03:00
Wander Lairson Costa
6332ed5b0a Bug 1338651 part 1: Change docker image home dir to /build. r=dustin,mshal
Using /home/worker is the build directory has a 30% talos performance
loss, because test machines has a /home mount directory.

MozReview-Commit-ID: 554IPMRWgzK

--HG--
extra : rebase_source : 00827d3f6bd705419bc801eb05b543af1ddc274f
2017-08-28 08:44:51 -03:00
Wes Kocher
7ea5ed6e6a Merge m-c to autoland, a=merge
MozReview-Commit-ID: LEKykpTAKjv
2017-08-25 17:32:33 -07:00
Dustin J. Mitchell
81476e48ec Bug 1394054: include try_task_config.json in sparse checkout; r=gps
MozReview-Commit-ID: 5H5XH1Zpqw1

--HG--
extra : rebase_source : a1a9f8e44a6dabe1f53479a0b6d80b9bc4536f68
2017-08-26 00:19:36 +00:00
Wes Kocher
68149d6a59 Merge inbound to central, a=merge
MozReview-Commit-ID: 3N9jinnrmjb
2017-08-25 16:21:57 -07:00
Philip Chimento
034b4fdfa6 Bug 1379539 - Remove unnecessary NSPR dependency. r=glandium 2017-07-25 14:15:50 -07:00
Tom Ritter
284b42206f Bug 1393222 Disable the unused-function warning when compiling with gcc for Windows r=froydnj
In some cases, they are false positives. In other cases, the callsite is #ifdef-ed
out, so it's a true positive, but not one we would correct.

MozReview-Commit-ID: 6ThZH3wEXTp

--HG--
extra : rebase_source : aabdb93cb924e74cf9592a93c86062c4435ceaad
2017-08-23 16:08:30 -05:00
Gregory Szorc
276defc2a7 Bug 1393503 - Proper error handling for failure to find VCS tool; r=glandium,nalexander
``print()`` has no business being in library code like this. It was
a holdover from this code being copied from bootstrap. So remove it.

While we're here, replace the generic exception with a specific one.
We don't want to be swallowing bugs via ``except Exception``.

MozReview-Commit-ID: 49goUstfPBz

--HG--
extra : rebase_source : a821159bd12a449ed1a0edf21a1f9eb29711ad95
2017-08-24 17:09:09 -07:00
Gregory Szorc
f344c387c4 Bug 1393657 - Use mozfile.TemporaryDirectory; r=glandium
An inline comment wanted it. The change is trivial.

MozReview-Commit-ID: CqyOYqNzwzr

--HG--
extra : rebase_source : d779d6bbca4aa57d9e95ead3a8403e0163106bdf
2017-08-24 18:32:05 -07:00
Gregory Szorc
aebbd74800 Bug 1393657 - Reformat profileserver.py; r=glandium
The file was using 2 space indent. I ran `autopep8` on it. Most of the
changes are whitespace only.

MozReview-Commit-ID: 1C7yDUQCfKl

--HG--
extra : rebase_source : 9f2b52ef6d0887fbaa7f8410b32348d371e884d8
2017-08-24 18:30:18 -07:00
Gregory Szorc
add347ff2a Bug 1393657 - Clean up imports in profileserver.py; r=glandium
Remove unused imports. Put stdlib imports first. And sort.

MozReview-Commit-ID: 9CAlCe2vA9z

--HG--
extra : rebase_source : 485076c84ce1abce942c27e630b33272153035da
2017-08-24 18:25:42 -07:00
Ting-Yu Chou
62922025c8 Bug 1373562 - Bump to clang r311608 to fix the errors running ASan on Windows 10 1703. r=Ehsan
MozReview-Commit-ID: CpiUizahZrj

--HG--
extra : rebase_source : 2182fe0f335fbcad7abacf7cb9a43bbc276ba656
2017-06-20 10:33:41 +08:00
Ryan VanderMeulen
2f60ba6fc6 Merge m-c to autoland. a=merge
CLOSED TREE

--HG--
extra : amend_source : 57c6e5e3155c1ad79d409f8a71c40704297b0600
2017-08-24 20:59:40 -04:00
Ryan VanderMeulen
3d0158833d Merge autoland to m-c. a=merge 2017-08-24 20:20:08 -04:00
Gregory Szorc
ddb8b492b5 Backed out changesets 18d89d8ab860, ffe8bef74be0, 159028ef12d2, 217260fb6976, 0279960d71ab (bug 1393242)
For a test failure.

--HG--
extra : histedit_source : c5f4167443174fa3144f139e976ae504a8efdad3%2C43a2beb21406adf114e7b64a734ec71284e50cc5
2017-08-24 16:07:44 -07:00
Gregory Szorc
2dc1a0736c Bug 1390700 - Documentation for sparse checkouts; r=me
MozReview-Commit-ID: 571VpKWjImZ

--HG--
extra : rebase_source : 726d0ab474d0a37e0a094243a71cba8bd51bf6ae
2017-08-24 15:39:11 -07:00
Gregory Szorc
e6c05965dd Bug 1390700 - Sparse checkout profiles for mach and taskgraph; r=dustin
Mercurial's sparse checkout support allows "profile" files defining
what's in sparse checkouts to be defined in-tree. This convenient
feature means you simply need to point a client at a path inside the
repository and it dynamically resolves what files to include in the
checkout. As you update revisions, the "profile" pulls in updates
to the underlying file.

We introduce 2 sparse profiles: 1 for mach and another for taskgraph.

The goal of the "mach" profile is to provide enough files to run
`mach`. If you activate this profile and run `mach`, it runs without
error. But there are practically no commands available. So it isn't
terribly useful.

The "taskgraph" profile allows us to run `mach taskgraph`. This
profile demonstrates a sparse profile feature: including other
profiles. The "taskgraph" profile is thus a union of "mach" and
its own entries.

There is definitely some fat in these profiles. I didn't feel like
chasing the long tail and getting overly granular with the profiles.
If we want to optimize later, we can do that.

For reference:

Full checkout: ~234,000 files
mach:            ~2,000 files
taskgraph:       ~3,600 files

MozReview-Commit-ID: 7pALt0MwHfE

--HG--
extra : rebase_source : 1a4ba4b8a63c522dab2841e2c0019501476da2fe
2017-08-23 11:47:44 -07:00
Gregory Szorc
258638f8d6 Bug 1393242 - Vendor python-hglib 2.4; r=mshal
python-hglib is a Python client for Mercurial's command server. It
facilitates querying Mercurial efficiently (using a single process)
and without having to parse output in the common case.

Let's vendor it so we can make use of it for more advanced Mercurial
scenarios.

Content vendored from changeset 820d7c1e470a without modifications
(other than deleting unwanted files).

As part of vendoring, we add the package to the virtualenv and make
it available to mach.

MozReview-Commit-ID: F4KLbW1lAvk

--HG--
extra : rebase_source : 39321a880a13a0b0323a7217f538978b729e2afe
2017-08-23 15:06:18 -07:00
Tristan Bourvon
ba0998ae31 Bug 1380423 - Add static-analysis to enforce strict rules on functions which can run scripts. r=mystor
MozReview-Commit-ID: GGSyq0z5msB
2017-08-08 19:48:53 +03:00
Tom Ritter
d69ec3ed28 Bug 1393216 Disable unknown pragma warnings when compiling for Windows with gcc r=froydnj
MozReview-Commit-ID: 6cZ96xe4h8C

--HG--
extra : rebase_source : f538720b67d54cb9755e7cf8a60441aa0c3b2389
2017-08-23 16:18:28 -05:00
Wes Kocher
fb8abb94c7 Merge inbound to central, a=merge
MozReview-Commit-ID: 1mWKzfX4kl
2017-08-23 18:07:24 -07:00
David Major
406287685a Bug 1391420: Set NO_PGO on a bunch of binaries that we don't ship. r=ted 2017-08-23 15:05:40 -04:00
Sebastian Hengst
142b3bf28b Backed out changeset 109e89a7d561 (bug 1391420) for busting Linux pgo builds. r=backout on a CLOSED TREE
--HG--
extra : amend_source : 6a4421254e4de31071785b73abdd1186638e31f2
2017-08-23 18:12:46 +02:00
David Major
8cb2cb650a Bug 1391420: Set NO_PGO on a bunch of binaries that we don't ship. r=ted 2017-08-23 11:10:39 -04:00
Gregory Szorc
c024875c88 Bug 1392886 - Ignore missing mach_commands.py when checkout is sparse; r=mshal
Sparse checkouts may not have all mach_commands.py files.

mach raises an error when a mach_commands.py file is missing.

So, we teach the mach driver to ignore missing file errors when
a sparse checkout is present.

The added code is optimized to avoid an import of mozversioncontrol
and some I/O as part of resolving the repo and VCS binaries because
this file is in the critical path of all mach commands and avoiding
I/O is worthwhile. Since we aren't using sparse checkouts in the
common case, this effectively makes the new code 0 cost.

MozReview-Commit-ID: C6itJga31t5

--HG--
extra : rebase_source : 4b2c18d30ff8b923a940c80ac81372a4076b8fdc
2017-08-23 08:41:01 -07:00
Gregory Szorc
197ad2c585 Bug 1392886 - Don't destroy reference to "mach" module; r=mshal
"mach" in this scope is both the mach module and the driver instance.
Let's change the latter's variable name so we can access the mach
module.

MozReview-Commit-ID: Db6sxDFl2oo

--HG--
extra : rebase_source : 0a51c7514cfdba40483b3b9b361cd03b8000c2c9
2017-08-22 20:29:37 -07:00
Gregory Szorc
5ce1624c85 Bug 1392886 - Determine if sparse checkout is being used; r=mshal
The Repository interface gains a new method to determine if a sparse
checkout is present. Mercurial's implementation is somewhat crude,
but it should work (Mercurial's sparse support is still experimental
and I only intend to support sparse checkout in Firefox CI until it
is less experimental). Git's always returns False (for now).

To prove it works and to expose the information more widely, we hook
it up to moz.configure. We do this by first implementing a function
that returns a Repository instance. Then we simply call a function on
it to resolve the sparse checkout flag.

MozReview-Commit-ID: AlsT5LdSPdZ

--HG--
extra : rebase_source : f1e9aaa7d15f11c7c5e8d268d4ad82468732103b
2017-08-22 20:26:46 -07:00
Phil Ringnalda
9359f5bf39 Merge inbound to m-c, a=merge
MozReview-Commit-ID: LCCoXUsCtmv
2017-08-19 15:29:10 -07:00
Chris Peterson
ee0e6ae64b Bug 1389851 - build: Enable clang's -Wunreachable-code-return warnings. r=glandium
MozReview-Commit-ID: 8Zl0mbzcFBm

--HG--
extra : rebase_source : 36c92b50fac9e1f7991d977e1c878b4945e97528
2017-08-08 23:12:41 -07:00
Wes Kocher
bb19458d5f Merge m-c to inbound, a=merge
MozReview-Commit-ID: EgYue63nSkv
2017-08-18 16:29:11 -07:00
Wes Kocher
b1fc5e008c Merge inbound to central, a=merge
MozReview-Commit-ID: 4cWGBbMEU2x
2017-08-18 15:53:07 -07:00
Eric Rahm
50513900c7 Bug 1389598 - Part 2: Remove gonk references from media/ r=jesup
--HG--
extra : rebase_source : d1af2d0987038e1c0b0b0c971d0d2e4e9f08364a
2017-08-11 17:46:15 -07:00
Ted Mielczarek
c4f93428a7 bug 1259832 - add a post-build task to upload generated source files. r=dustin
This change adds an upload-generated-sources task kind that runs after nightly
builds, fetches their `target.generated-files.tar.gz` artifact, and uploads
all the contained files to an S3 bucket. For actual nightly and release builds
on SCM level 3 trees, the S3 bucket is configured to be publicly accessible,
so that tools like Socorro will be able to fetch generated source files that
appear in crash reports, and debuggers will be able to fetch generated sources
when they show up while debugging Nightly or Release builds.

There are also level-2 and level-1 S3 buckets configured for builds happening
on trees of other levels such as try. They are not configured as publicly
accessible, but they exist so that these tasks can be tested in try.

MozReview-Commit-ID: Js1HRftbtep

--HG--
extra : rebase_source : b1172c9cc8b8be437d3b94a6bf0ff6b2f7d3508b
extra : source : 73bf88110b3821d62a3d393e85b56896a12f2930
2017-08-09 14:32:05 -04:00
Wes Kocher
c043502159 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 7sFZmPUXSx6
2017-08-18 17:21:29 -07:00
Ted Mielczarek
8715819616 bug 1259832 - package generated sources and upload them along with other build artifacts. r=gps
This change makes us upload an `$(PKG_BASENAME).generated-files.tar.gz` archive
alongside other build artifacts which contains all the generated source files
from the build. A change after this will introduce an `upload-generated-sources`
task to take this artifact and upload the individual files to an S3 bucket.

This will be used to provide links to generated source files when they appear
in stack traces in crash reports.

MozReview-Commit-ID: 6yQAdlZ5q3O

--HG--
extra : rebase_source : d92fb17ae737d1360e9724997f6688e29bedef12
extra : source : 14d18d7cf454c4c3d0f6d49d1d01660e06e4be4b
2017-07-31 12:47:08 -04:00
Ted Mielczarek
ddef773ef3 bug 1259832 - move artifact build automation step overrides to a common mozconfig. r=chmanchester
A followup change will be adding a new automation step that wants to be skipped
in artifact builds, and this will make that simpler.

MozReview-Commit-ID: 5xwRB9eCRQn

--HG--
extra : rebase_source : 2fccd9d128ab92c98515762a62a0a2e89bf9ca24
extra : source : a02695cbf5762eb0eb7087239319807eb447ca1e
2017-08-09 13:26:02 -04:00
Ting-Yu Chou
33c6c355d6 Bug 1385743 - Use copy_tree() to copy directory recursively instead. r=Ehsan
shutil.copy2() will fail if the destination directory doesn't exist.
Switch to copy_tree() instead so we don't need to worry about the
error cases of copy2() and copytree().

MozReview-Commit-ID: 3kHfgL57KfX

--HG--
extra : rebase_source : c7335b0c2854d53699dda0f0d2bd9d17b57c4e5d
2017-08-17 10:36:15 +08:00
Dave Hunt
5277a5a5cb Bug 1388340 - Vendor in six package for Python 2 and 3 compatibility; r=gps
MozReview-Commit-ID: JxtYnHOOZvy

--HG--
extra : rebase_source : 5f5226b94bdc03b877f9a34a262e04214bd415cb
2017-08-08 14:25:53 +01:00
Nathan Froyd
802e57346a Bug 1390524 - correctly pass extra_toolchain_flags only to target compiles; r=glandium
We define extra_toolchain_flags for passing extra flags to the target
compiler during configure.  But the way things are currently set up, we
pass those flags to the host compiler during configure as well.  This
behavior is incorrect, and we should only be passing the flags from
extra_toolchain_flags if we're compiling for the target.
2017-08-18 12:05:05 -04:00
Mike Hommey
a3250ab5f7 Bug 1390752 - Avoid std::basic_ios<char, std::char_traits<char>>::operator bool() references. r=froydnj
This is similar to what we had until bug 1278456 removed them when we dropped
support for older libstdc++, but for a different symbol.

--HG--
extra : rebase_source : 641fc6c86c8f47e3dbd752bc20056f61646541a7
2017-08-16 15:03:43 +09:00
Eugen Sawin
c0560f54d7 Bug 1388893 - [1.0] Abort code insertion if executable section was not found. r=glandium 2017-08-15 13:58:41 +02:00
Mike Hommey
733dc0bf95 Bug 1389422 - Avoid @GLIBCXX_3.4.22 symbols from the use of std::thread when building with GCC 6. r=froydnj
That the wrapper implementation works has been verified by creating a
dummy program such as:

  $ cat test.cc
  #include <thread>

  int main() {
    std::thread([]() {
      printf("foo\n");
    }).join();
    return 0;
  }

And compiling it with and without the hack:

  $ g++ -fno-rtti -o test test.cc -lpthread
  $ objdump -TC test | grep UND.*GLIBCXX_3.4.22
  0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4.22 std:🧵:_State::~_State()
  0000000000000000      DF *UND*	0000000000000000  GLIBCXX_3.4.22 std:🧵:_M_start_thread(std::unique_ptr<std:🧵:_State, std::default_delete<std:🧵:_State> >, void (*)())

  $ ./test
  foo

  $ g++ -fno-rtti -o test test.cc $objdir/build/unix/stdc++compat/stdc++compat.o -lpthread
  $ objdump -TC test | grep UND.*GLIBCXX_3.4.22
  $ ./test
  foo

--HG--
extra : rebase_source : 53ca8e2d0424eaeb539d50510c441c8a3252c819
2017-08-11 17:20:47 +09:00
Wes Kocher
2458d6b297 Merge m-c to autoland, a=merge
MozReview-Commit-ID: KfZgcCxrZcg
2017-08-14 17:59:46 -07:00
Tristan Bourvon
5dba5275b8 Bug 1390064 - Fix IgnoreTrivials in Utils.h by changing cast to cast_or_null r=mystor
MozReview-Commit-ID: E1uMaMRrCuO

--HG--
extra : amend_source : 813d6f884ccb1736ee161d8cedce260a0a7a2a90
2017-08-14 11:40:36 +02:00
Gregory Szorc
80d6e033a7 Bug 1385381 - Detect and expose Python 3 to the build system; r=chmanchester
Various people want to start experimenting with Python 3 in the build
system and in related tools (like mach).

We want to make it easy to find and use an appropriate Python 3
binary.

This commit introduces a generic function for finding a Python 3
binary and resolving its version.

We use the new code in configure to set PYTHON3 and PYTHON3_VERSION
subst entries for later consultation.

We also expose a cached attribute on the base class used by many
mach and build system types to return a Python 3 executable's info.

By default, we only find Python 3.5+. From my experience, Python 3.5
was the first Python 3 where it was reasonable to write code that
supports both Python 2 and 3 (mainly due to the restoration of the
% operator on bytes types). We could probably support Python 3.4
in the build system. But for now I'd like to see if we can get
away with 3.5+.

MozReview-Commit-ID: BlwCJ3kkjY9

--HG--
extra : rebase_source : b00464972183ef1a97a0b5d888520be425717ae7
2017-07-27 21:19:25 -07:00
J. Ryan Stinnett
79915f9599 Bug 1365915 - Add Valgrind suppressions for Stylo. r=jseward
MozReview-Commit-ID: 8XrPy6ovbm7
2017-08-14 12:53:23 -05:00
Matt Brubeck
503070ad8d Bug 1386371 - Disable LTO by default, but enable in automation. r=froydnj
MozReview-Commit-ID: 2DIY9ex3Mch

--HG--
extra : rebase_source : 61f2f073adabfa7c46c324470a308adab23e7781
2017-08-10 11:38:10 -07:00
Sylvestre Ledru
fa1440cf47 bug 1320656 - When exists, add -Wno-noexcept-type to the js build flags until we have a proper fix r=glandium
MozReview-Commit-ID: HeDMTxopx9V

--HG--
extra : rebase_source : a48fbfcd687d44ffe16be39f5c5e945d8df31b17
2017-08-11 10:46:02 +02:00
Wes Kocher
cff9e9b197 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2YvHbITn9w3
2017-08-10 18:25:34 -07:00
Julian Seward
e714eb3dea Bug 1382280 - Update the version of Valgrind in the desktop-build image to one with unstripped shared libraries (part 3). r=n.nethercote.
This patch:

* Adds a suppression for some leaks in libLLVM-3.6-mesa.so.

* Adds Valgrind flag --keep-debuginfo=yes so that the abovementioned leak
  stacks can be symbolised and hence suppressed even after
  libLLVM-3.6-mesa.so is unmapped from the process.

* Adds Valgrind flag --expensive-definedness-checks=yes as an attempt to
  reduce Memcheck false positives from LLVM and rustc compiled code.  This
  change is aimed primarily at bug 1365915.

MozReview-Commit-ID: KiOZG2O8wzs
2017-08-07 11:49:28 +02:00
Wander Lairson Costa
285b4dbffb Bug 1382280 part 1: Upgrade valgrind r=ted
Bug 1338651 was backed out because when building a newer image, there
was a valgrind leak report that couldn't resolve symbols. Further
investigation showed the valgrind package installed had symbols stripped.

We upgrade valgrind version and build it from source with symbols.

We had to build inside the docker image because we need to run
"make install". Using "make dist" to generate a tar ball will also run
"make docs", and it is hard to make it work because of the outdated
texlive package present in CentOS 6.

We also apply a patch [1] to valgrind correctly generate symbols
for unloaded objects.

[1] https://bugs.kde.org/show_bug.cgi?id=79362#c62

MozReview-Commit-ID: 2IhuJY28Ke3
2017-08-10 13:42:11 -03:00
Sebastian Hengst
51d351f567 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-08-10 17:41:11 +02:00
Kris Maglione
9cc6707daf Bug 1350646: Part 1 - Remove addon-sdk moz.build generation gunk. r=Mossop
MozReview-Commit-ID: GMlOFoosVQZ

--HG--
extra : source : 67c251e2c9db1d42a8de6d09a44e9e2f7be084a4
2017-08-02 13:51:40 -07:00
Phil Ringnalda
ca2c01b0ad Backed out 22 changesets (bug 1350646) for talos damp failures
Backed out changeset c3108aebee35 (bug 1350646)
Backed out changeset ee8f7fa9d410 (bug 1350646)
Backed out changeset 79e77c06ff44 (bug 1350646)
Backed out changeset 5584fdcd2ee0 (bug 1350646)
Backed out changeset 7571b064a77e (bug 1350646)
Backed out changeset 7f65323c56f9 (bug 1350646)
Backed out changeset 10bbf7c53afe (bug 1350646)
Backed out changeset e40544ead983 (bug 1350646)
Backed out changeset 5eb77e6de0a3 (bug 1350646)
Backed out changeset 6d9244a8ac40 (bug 1350646)
Backed out changeset 13110c98b0fd (bug 1350646)
Backed out changeset 096ff315b48b (bug 1350646)
Backed out changeset 57500d9ea832 (bug 1350646)
Backed out changeset 5a45d9e25a00 (bug 1350646)
Backed out changeset e931e4ff5e11 (bug 1350646)
Backed out changeset d914c050c965 (bug 1350646)
Backed out changeset 35c4d4cd77c7 (bug 1350646)
Backed out changeset 7687db575011 (bug 1350646)
Backed out changeset c68367bb0eb3 (bug 1350646)
Backed out changeset 3ca040743aeb (bug 1350646)
Backed out changeset 8d4c2f001354 (bug 1350646)
Backed out changeset 67c251e2c9db (bug 1350646)

MozReview-Commit-ID: GLM80BkVx85
2017-08-09 20:03:17 -07:00
Mike Hommey
ccd43013f6 Bug 1388713 - Change how elfhack looks for the bss section. r=froydnj
In bug 635961, elfhack was made to (ab)use the bss section as a
temporary space for a pointer. To find it, it scanned writable PT_LOAD
segments to find one that has a different file and memory size,
indicating the presence of .bss. This usually works fine, but when
the binary is linked with lld and relro is enabled, the end of the
file-backed part of the PT_LOAD segment containing the .bss section
ends up in the RELRO segment, making that location read-only and
subsequently making the elfhacked binary crash when it tries to restore
the .bss to a clean state, because it's not actually writing in the .bss
section: lld page aligns it after the RELRO segment.

So instead of scanning PT_LOAD segments, we scan for SHT_NOBITS
sections that are not SHF_TLS (i.e. not .tbss).

--HG--
extra : rebase_source : f18c43897fd0139aa8535f983e13eb785088cb18
2017-08-10 07:55:55 +09:00
Sylvestre Ledru
77b71da58c Bug 1336978 - Add support of lld by adding a configure option --enable-linker='bfd', 'gold', 'lld', 'other' r=glandium
MozReview-Commit-ID: 7LI2lMXO2lG

--HG--
extra : rebase_source : d8531917f81e8f6e313b362ae182540312a5c676
2017-07-26 15:14:07 +02:00
Kris Maglione
9172d0a257 Bug 1350646: Part 1 - Remove addon-sdk moz.build generation gunk. r=Mossop
MozReview-Commit-ID: GMlOFoosVQZ

--HG--
extra : rebase_source : c4d52796531c12e136b47313c8ea614b8698fa66
2017-08-02 13:51:40 -07:00
Wes Kocher
223f322400 Merge m-c to autoland a=merge
MozReview-Commit-ID: 2qLtb79Nlhs
2017-08-08 15:26:30 -07:00
Tristan Bourvon
cdc988e24a Bug 1374024 - apply clang-format on some files from static analysis. r=mystor
MozReview-Commit-ID: COh2u6PIeY
2017-07-13 12:00:06 +02:00
Tristan Bourvon
2e77c99160 Bug 1374024 - add checker to prevent dangling pointers returned by method calls on temporaries. r=mystor
MozReview-Commit-ID: 9khNt59ONF
2017-07-05 16:14:21 +02:00
Paul Adenot
da39c08e8c Bug 1384655 - Backed out changeset 7829ceaaec31 for busting gUM on some configurations.
MozReview-Commit-ID: DSr6uAMzVxq

--HG--
extra : amend_source : 12e63146939d93f97cc31b3588187c234639de99
2017-08-08 09:50:07 +02:00
J. Ryan Stinnett
7bc9824a4f Bug 1363976 - Suppress global_style_data for LSAN. r=bholley
Suppress leaks for allocations where any stack frame matches the string
style::gecko::global_style_data.  This could be dangerous if someone were to
allocate non-global things with this on the stack, but hopefully that can be
avoided, given the name of the module.

MozReview-Commit-ID: 65HpUGsgPPM

--HG--
extra : rebase_source : 19ba5a5001de65628acdb0433341d14429e4af67
2017-08-07 19:55:51 -05:00
Carsten "Tomcat" Book
546b19363f Backed out changeset 514cf1f55c6f (bug 1380639) 2017-08-07 13:23:35 +02:00
Nathan Froyd
6b3217da7f Bug 1385276 - move PROFILE_*FLAGS to moz.configure; r=mshal
We are guaranteed to use a GCC or clang new enough that we don't have to
bother checking whether the flags are supported or not.
2017-08-04 13:56:38 -04:00
Nathan Froyd
ff612fa73f Bug 1387185 - remove --enable-b2g-* options from moz.configure whitelist; r=mshal
These options do not exist in the old configure.
2017-08-04 13:56:38 -04:00
Nathan Froyd
26eec13ba0 Bug 1387185 - remove --enable-png-arm-neon-support from moz.configure whitelist; r=mshal
This option does not exist in the old configure.
2017-08-04 13:56:38 -04:00
Nathan Froyd
3a8877d401 Bug 1387185 - remove --enable-safe-browsing option from moz.configure whitelist; r=mshal
This option does not exist in the old configure.
2017-08-04 13:56:38 -04:00
Nathan Froyd
d7190c617c Bug 1387185 - remove --enable-url-classifier configure option; r=mshal
Nothing uses the corresponding defines and substs.
2017-08-04 13:56:38 -04:00
Nathan Froyd
51495a8284 Bug 1387185 - remove --disable-mozril-geoloc configure option; r=mshal
Nothing uses the defines and substs that it sets, and no in-tree
mozconfigs pass it as an option.
2017-08-04 13:56:38 -04:00
Sebastian Kaspari
b05b8a9729 Bug 1380639 - Add contraint-layout and constraint-layer-solver dependencies. r=mcomella
MozReview-Commit-ID: AbZLlwdDHRV

--HG--
extra : rebase_source : d4538afeca26349512f8453db4782be2bce28ee0
2017-07-25 10:12:38 +02:00
Makoto Kato
d2130a3810 Bug 1386164 - Part 2. Use MOZ_SYSTEM_LIBEVENT for webrtc. r=jesup
GYP of WebRTC should reference MOZ_SYSTEM_LIBEVENT values if available.

MozReview-Commit-ID: CshsPrRidM8

--HG--
extra : rebase_source : 9e619c2f49e7c2b3f680814b95b823996773fa6c
2017-08-03 13:28:25 +09:00
Wes Kocher
db7d003ae0 Merge m-c to autoland a=merge CLOSED TREE
MozReview-Commit-ID: Ko3lhAvzMJN
2017-08-03 18:22:09 -07:00
Wes Kocher
2196b718d3 Merge inbound to central, a=merge
MozReview-Commit-ID: DlSLhaepjeU
2017-08-03 18:06:53 -07:00
Mike Hommey
118fd76cf0 Bug 1356926 - Make all stdc++compat symbols weak. r=froydnj
In some cases, we can end up linking some things with
--static-libstdc++. The notable (only?) example of that is for the
clang-plugin, and that happens because it gets some of its flags from
llvm-config, which contains --static-libstdc++ because clang itself is
built that way.

When that happens, the combination of --static-libstdc++ and
stdc++compat breaks the build because they have conflicting symbols,
which is very much by design.

There are two ways out of this:
- avoiding either -static-libstdc++ or stdc++compat
- work around the symbol conflicts

The former is not totally reliable ; we'd have to accurately determine
if we're in a potentially conflicting case, and remove one of the two in
that case, and while we can do that for the cases we explicitly know
about, that's not future-proof, and might fail just as much in the
future.

So we go with the latter. The way we do this is by defining all the
std++compat symbols weak, such that at link time, they're overridden by
any symbol with the same name. When building with -static-libstdc++,
libstdc++.a provides those symbols so the linker eliminates the weak
ones. When not building with -static-libstdc++, the linker keeps the
symbols from stdc++compat. That last assertion is validated by the
long-standing CHECK_STDCXX test that we run when linking shared
libraries and programs.

That still leaves the symbols weak in the final shared
libraries/programs, which is a change from the current setup, but
shouldn't cause problems because when using versions of libstdc++.so
that do provide those symbols, it's fine to use the libstdc++.so version
anyways.
2017-08-04 06:07:42 +09:00
Ralph Giles
2a2cfd92f6 Bug 1383311 - Require rust 1.19.0. r=froydnj,gps
Bump the minimum required version of the Rust toolchain to
the current stable release so we can take advantage of new
features.

Highlights of the 1.19.0 release:

* C-compatible `union` (untagged enums).
* Support for Visual Studio 2017.
* Non-capturing closures can be coerced to `fn` bindings.
* Numeric field names in tuple struct initializers.
* Higher macro recursion limit.
* `break` can return a value from `loop` expressions.
* Better error handling with mis-configured Visual Studio environments.

This change also enables 1.18.0 features. Some highlights:

* `pub(mod)` &c. for better control of symbol visibility.
* struct packing for better memory footprint in generated code.
* Faster build times.

MozReview-Commit-ID: 2OpUjAcytpE

--HG--
extra : rebase_source : 2ed0d7c4e7b78c26f7a7476e7b284bf1bdbe7c8b
2017-07-24 07:51:57 -07:00
Axel Hecht
d112ca24fa bug 1370506, update the docs, r=glandium
Mostly removals, but also adding docs on how to create a
multilingual package right now.

I think I'd like to take another pass at those docs in a follow-up.

MozReview-Commit-ID: Dkw4MJ5DLyb

--HG--
extra : rebase_source : 4f79499e376cf6ddd23169a1c4525ed6b551a740
2017-06-16 13:14:28 +02:00
Mike Hommey
f548b4a8d4 Bug 1386588 - Always print out the commands run by the clang build job. r=gps,a=KWierso
Not doing so makes debugging harder, for no added value.
2017-08-03 08:14:02 +09:00