Commit Graph

918 Commits

Author SHA1 Message Date
Chris Manchester
cf39792d69 Bug 1471425 - Require rustc 1.28 in configure when building with Tup. r=mshal
MozReview-Commit-ID: 9FCs5FPcchC

--HG--
extra : rebase_source : 7a4e7afa7825f3c73b5cc3571d1531f26cc964b1
2018-06-26 20:32:16 -07:00
Bogdan Tara
ee8db3bbe1 Backed out 2 changesets (bug 1447116) for debug reftests failures CLOSED TREE
Backed out changeset 0c8c7b025aee (bug 1447116)
Backed out changeset 82dc9159f28d (bug 1447116)
2018-06-27 05:17:03 +03:00
Mike Hommey
72fd93fa0f Bug 1471096 - Choose OOM hooking version to use at build time rather than configure time. r=froydnj
When I originally implemented bug 1458161, this is how it was done, but
it was suggested to use a configure-time check. This turned out to not
be great, because the rust compiler changes regularly, and we don't run
the configure tests when the version changes. When people upgraded their
rust compiler to 1.27, the code subsequently failed to build because the
features were still set for the previous version they had installed.

--HG--
extra : rebase_source : 1b5f7a02ad8495d68cd29289f7beea59b8912183
2018-06-23 07:28:26 +09:00
Mike Hommey
1ad0baf79f Bug 1447116 - Require rust 1.26. r=froydnj
We're well overdue for an upgrade of the rust compiler requirements.
Now that we're building with 1.28 (albeit a beta, due to be bumped when
it's released), we can bump the requirement away from 1.24 which is now
old. 1.27 is too new, though, so settle for the older 1.26.

--HG--
extra : rebase_source : c788ef4f7da9949b81df2f0577af6f6039ea63d8
2018-06-26 18:05:23 +09:00
Dave Hunt
0d9dbe14ab Bug 1466211 - Detect if we are running in a virtual environment; r=chmanchester
When we're running using pipenv, we have more than one virtual environment. This means the current check to see if python matches the initial virtual environment gives a false positive when we're in a secondary virtual environment. This patch changes the condition to check if the current python path exists within the virtual environments root directory.

MozReview-Commit-ID: AAONwLWsigL

--HG--
extra : rebase_source : c0ac94448ee4545417b5116e58b51c6187cdb175
2018-06-15 18:05:20 -07:00
Marco Castelluccio
7322ecf8fa Bug 1469804 - Disable Rust incremental compilation when code coverage is enabled. r=ted
--HG--
extra : rebase_source : 30d98009113554c266a46d4b74e7d3b7757114fe
2018-06-20 11:16:43 +01:00
Mike Hommey
abc300efbb Bug 1467039 - Default to gold on local builds. r=chmanchester
We used to do that before bug 1455767. Taking a step back, what we want
(and what this change implements) is to:
- allow to specify a linker to use explicitly
- check that using the corresponding linker flags makes us use that
  linker
- if no linker is specified, and developer options are enabled, we want
  to try to use gold if it's available, otherwise, we want to detect
  what kind of linker the default linker is
- if --disable-gold is explicitly given, we don't want to automatically
  use it.

--HG--
extra : rebase_source : 8d89c54bd5e555984d815beb8fdd3f5f75dae31e
2018-06-07 08:46:31 +09:00
Dorel Luca
1719a7ad5a Backed out changeset 0c800e84c991 (bug 1467039) for Spidermonkey failure. CLOSED TREE 2018-06-12 08:29:01 +03:00
Dorel Luca
f7a26a560f Backed out changeset 71ed3b0b1013 (bug 1467337) for build bustage. CLOSED TREE 2018-06-12 08:28:40 +03:00
Mike Hommey
a75a0b49d5 Bug 1467337 - Don't allow --enable-stdcxx-compat when the linker is gold. r=nalexander
--HG--
extra : rebase_source : 74fcad2dc3bda3cf223de615b38bd06aa5a91224
2018-06-07 10:36:10 +09:00
Mike Hommey
3a65dbeef2 Bug 1467039 - Default to gold on local builds. r=chmanchester
We used to do that before bug 1455767. Taking a step back, what we want
(and what this change implements) is to:
- allow to specify a linker to use explicitly
- check that using the corresponding linker flags makes us use that
  linker
- if no linker is specified, and developer options are enabled, we want
  to try to use gold if it's available, otherwise, we want to detect
  what kind of linker the default linker is

--HG--
extra : rebase_source : 655089f29c6403f6c31a977dcf5c6fd1e9941121
2018-06-07 08:46:31 +09:00
Mike Hommey
e1e5972b07 Bug 1467327 - Use bootstrapped clang if no system clang is found. r=froydnj
--HG--
extra : rebase_source : 4e646c27321d19d2d44df9911e5ef6fdb060ac48
2018-06-07 09:57:36 +09:00
Gurzau Raul
30ff1c45fb Backed out changeset ba02d348e3fd (bug 1467327) for LinuxToolchainTest bustages on a CLOSED TREE 2018-06-07 05:22:40 +03:00
Mike Hommey
b5dd8f7e9b Bug 1467327 - Use bootstrapped clang if no system clang is found. r=froydnj
--HG--
extra : rebase_source : fbb9e09e4211f6456391c8446899023520d2bbf9
2018-06-07 09:57:36 +09:00
Mike Hommey
65169421bc Bug 1467041 - Default to --enable-release when milestone is beta/release. r=froydnj
--enable-release not being passed means developer options are enabled,
which is generally speaking not desirable for builds meant to be
shipped. This is somewhat alleviated for Firefox by MOZILLA_OFFICIAL
implying --enable-release (as well as MOZ_AUTOMATION), but that doesn't
apply to e.g. standalone js builds (even some of the standalone js jobs
on our automation don't set MOZ_AUTOMATION for some reason).

A reasonable thing to do is just to default builds for release/beta
milestones to --enable-release, but still allow --disable-release
to enable the developer options.

--HG--
extra : rebase_source : 770d51b10a9cd17c63972435bb61eed10345ea71
2018-06-06 16:13:09 +09:00
Tom Ritter
2313bfe0d4 Bug 1457482 Add --enable-lto that turns on LTO r=glandium
MozReview-Commit-ID: DjICW7OKqzB

--HG--
extra : rebase_source : 92c766880845ec89305ef1e66ff13223421ac152
2018-04-13 15:55:39 -05:00
Miko Mynttinen
44b51ac0a2 Bug 1465060 - Part 2: Don't suppress pessimizing-move and self-move warnings r=froydnj
MozReview-Commit-ID: KtQ31q6uFqZ

--HG--
extra : rebase_source : 93b8550117410efb1839dc475d2bfec9ef4caf67
2018-06-01 14:09:30 +02:00
Jonathan Watt
5817084eb6 Bug 1270217 - Change the default MACOS_DEPLOYMENT_TARGET value to 10.9. r=froydnj 2018-05-10 10:41:13 +01:00
Cosmin Sabou
9994e67745 Backed out changeset cbf0895981cd (bug 1270217) for turning bug 1405083 into permafail. a=backout 2018-06-03 13:08:10 +03:00
Jonathan Watt
67537a721b Bug 1270217 - Change the default MACOS_DEPLOYMENT_TARGET value to 10.9. r=froydnj
--HG--
extra : rebase_source : bb180a82c87bb49c688dbcb2f8da6756e6c54224
2018-05-10 10:41:13 +01:00
Emilio Cobos Álvarez
9855a4330e Bug 1465585: Don't error on pessimizing-move and self-move, for now. r=froydnj
MozReview-Commit-ID: FzoqidPSCaV
2018-06-01 10:43:31 +02:00
Mike Hommey
81cf850f82 Bug 1253064 - Prefer Clang to GCC in local developer builds. r=gps
For Android targets, we just ignore plain clang, it's unlikely to work.

--HG--
extra : rebase_source : 2ba19ea608921acc2739055115082291bb8996f4
2018-05-31 10:16:10 +09:00
Christian Holler
570031d38c Bug 1464202 - Improve and centralize libFuzzer flag management. r=froydnj
MozReview-Commit-ID: HFrQDAZWtpo

--HG--
extra : rebase_source : ab1da001d7e9280fbfb37858505f1d0d0caf7d54
2018-05-24 21:11:46 +02:00
Sylvestre Ledru
3f0e9bf7a3 Bug 1464809 - Disable -Werror on -Wclass-memaccess until the backlog is fixed r=froydnj
https://bugzilla.mozilla.org/show_bug.cgi?id=1411029#c2

MozReview-Commit-ID: 2CyoNWMUrw9

--HG--
extra : rebase_source : 758d2c9bc9e2dd3502def27a0d9bc6f9e0887e2d
2018-05-28 14:56:41 +02:00
Masatoshi Kimura
b3f94f70ab Bug 1462616 - Unblock Windows 10 April 2018 Update SDK with clang-cl. r=ted
MozReview-Commit-ID: 9KGu1KTmyRM

--HG--
extra : rebase_source : d70c5dbabd15f10d865db7f5a9c7a4e76dd94fe8
2018-05-18 21:20:23 +09:00
Tom Ritter
e8b341f8cd Bug 1420350 Enable jemalloc on MinGW r=glandium
MozReview-Commit-ID: 6YUeFAJocHj

--HG--
extra : rebase_source : 016803ba5e3d5eaf8c937ac2f41e712fc543ba51
2018-03-07 10:49:28 -06:00
Sylvestre Ledru
f4b02c2f37 Bug 1453990 - Disable -Werror on -Wreturn-std-move. We have a false positive with nsAutoCString r=froydnj
See: https://bugs.llvm.org/show_bug.cgi?id=37249
MozReview-Commit-ID: VFvj33eeOm

--HG--
extra : rebase_source : 75208b2cfd1d3302ec0da2af3b24ceb36a4bdd8b
2018-05-12 12:00:39 +02:00
Cosmin Sabou
ea5feeedb6 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-10 01:16:27 +03:00
Sylvestre Ledru
3bed13c76e Bug 1453444 - Add support for versioned lld binaries r=glandium
Can be used:
ac_add_options --enable-linker=lld-7
or
ac_add_options --enable-linker=lld

MozReview-Commit-ID: GfDevGeooU4

--HG--
extra : rebase_source : ee2aad5f8f721a6fe5840affde6b29a3b940fb91
2018-05-09 13:53:16 +02:00
Nathan Froyd
493330ae3f Bug 1460379 - remove --with-pthreads option; r=ted.mielczarek
This option does nothing if it's provided, and things will probably
break in some most peculiar manner if somebody uses --without-pthreads.
Given that neither outcome is useful, we should remove the option.
2018-05-09 17:26:31 -04:00
Nathan Froyd
c21c323370 Bug 1460373 - move --enable-valgrind to moz.configure; r=ted.mielczarek 2018-05-09 17:26:31 -04:00
Nathan Froyd
375bdf507f Bug 1459993 - remove MSVC 2015 bits from toolchain.configure; r=ted.mielczarek
It's unsupported, so we might as well get rid of the bits for it.
2018-05-09 17:26:31 -04:00
Nathan Froyd
0de7ff8ffa Bug 1459988 - disallow MSVC 15.7+ from being used to build Firefox; r=ted.mielczarek 2018-05-09 17:26:32 -04:00
Sylvestre Ledru
0584c2911d Bug 1455767 - As we have gcc 6 as requirement, use -fuse-ld everywhere instead of the -B trick r=glandium
+ simplify the code

MozReview-Commit-ID: 1Qz5H8VkfpD

--HG--
extra : rebase_source : cf7ef2945a112c592ae02d68c3825205497e079a
2018-04-26 13:27:36 +02:00
shindli
ede14ab8aa Backed out changeset 7c7118c12864 (bug 1455767) for failures in /python/mozbuild/mozbuild/test/configure/lint.py on a CLOSED TREE 2018-05-09 12:10:10 +03:00
Sylvestre Ledru
25b3284dcb Bug 1455767 - As we have gcc 6 as requirement, use -fuse-ld everywhere instead of the -B trick r=glandium
+ simplify the code

MozReview-Commit-ID: 1Qz5H8VkfpD

--HG--
extra : rebase_source : d20ca365969722e03b48aeb52424fcc1f7234f26
2018-04-26 13:27:36 +02:00
Xidorn Quan
12ddb6a1e7 Bug 1457524 part 3 - Check rustdoc for rust tests. r=froydnj
MozReview-Commit-ID: 4qRccUcXq6O

--HG--
extra : rebase_source : 684fd08a18f55a1f620fa305b22b31e002077a0a
2018-05-02 20:02:04 +10:00
Dave Hunt
4afca33e96 Bug 1437593 - Move initial virtual environment to _virtualenvs/init; r=ted
MozReview-Commit-ID: LP8NVz3tZZg

--HG--
extra : rebase_source : 990c0301a43a1870a69548a23aeddcf9fe3fe8a8
2018-03-28 12:55:04 +01:00
Mike Hommey
ed54beeab0 Bug 1458161 - Hook rust OOM handler. r=froydnj
OOM rust crashes are currently not identified as such in crash reports
because rust libstd handles the OOMs and panics itself.

There are unstable ways to hook into this, which unfortunately are under
active changes in rust 1.27, but we're currently on 1.24 and 1.27 is not
released yet. The APIs didn't change between 1.24 and 1.26, so it's
fine-ish to use them as long as we limit their use to those versions.

As long as the Firefox versions we ship (as opposed to downstream) use
the "right" version of rust, we're good to go.

The APIs are in their phase of stabilization, so there shouldn't be too
many variants of the code to support.

--HG--
extra : rebase_source : 08a85aa102b24380b1f6764effffcc909ef3191b
2018-05-01 10:30:03 +09:00
Dorel Luca
70e79e52cd Backed out 11 changesets (bug 1437593) for Doc linting failure. CLOSED TREE
Backed out changeset 0f3dbbd73ed4 (bug 1437593)
Backed out changeset 64c84cf90e8b (bug 1437593)
Backed out changeset 36c66615886f (bug 1437593)
Backed out changeset dfafbe7770ad (bug 1437593)
Backed out changeset 900f32450a74 (bug 1437593)
Backed out changeset d6fe456bb39c (bug 1437593)
Backed out changeset 4842e4b68d82 (bug 1437593)
Backed out changeset e024b3d775fd (bug 1437593)
Backed out changeset ce9e3951357a (bug 1437593)
Backed out changeset afaeac146ff8 (bug 1437593)
Backed out changeset 88954bcf6ca2 (bug 1437593)
2018-04-28 12:02:02 +03:00
Dave Hunt
ab659de0d1 Bug 1437593 - Move initial virtual environment to _virtualenvs/init; r=ted
MozReview-Commit-ID: LP8NVz3tZZg

--HG--
extra : rebase_source : 0ddf9cd58d7258c17ffbed01b435fb58142df7c5
2018-03-28 12:55:04 +01:00
Gurzau Raul
677f146915 Backed out 11 changesets (bug 1437593) for SpiderMonkey failures on a CLOSED TREE
Backed out changeset e4b2357330b4 (bug 1437593)
Backed out changeset 8cb34c11ad45 (bug 1437593)
Backed out changeset ab27411c53c2 (bug 1437593)
Backed out changeset c90a0961f52a (bug 1437593)
Backed out changeset 60114a93b6b1 (bug 1437593)
Backed out changeset d12eec17c51c (bug 1437593)
Backed out changeset 2f83246cb0b1 (bug 1437593)
Backed out changeset 19b7273e375c (bug 1437593)
Backed out changeset cf026c071b73 (bug 1437593)
Backed out changeset c7fa833eff1d (bug 1437593)
Backed out changeset 828caab5032d (bug 1437593)
2018-04-27 02:20:39 +03:00
Dave Hunt
37e3c0c222 Bug 1437593 - Move initial virtual environment to _virtualenvs/init; r=ted
MozReview-Commit-ID: LP8NVz3tZZg

--HG--
extra : rebase_source : 7cc28c398da611f318bba5377d9ad1f18944e1e4
2018-03-28 12:55:04 +01:00
Gregory Szorc
8f5adf5328 Bug 1455708 - Find Python 3 in MozillaBuild, require Python 3 everywhere; r=mshal
We previously did not require Python 3.5+ everywhere because we failed
to detect Python 3.5 on Windows in CI. That's because CI isn't using
start-shell.bat and it hasn't yet updated PATH to include
%MOZILLABUILD%\python3.

We shouldn't need to teach CI to have PATH contain everything in
MozillaBuild. This commit teaches moz.configure to automatically use
MozillaBuild's Python 3 if we're running in MozillaBuild.

Since we can now detect Python 3 everywhere in CI, we make Python 3.5+
required on all build configurations.

MozReview-Commit-ID: BwgWGeYMyPM

--HG--
extra : rebase_source : b52f604b01c73b0493b142f3f71aa26c99a42b91
2018-04-20 12:44:05 -07:00
Gregory Szorc
7efba3beae Bug 1451065 - Require Python 3.5+ to build; r=mshal
But only if we are:

a) not running in CI
b) running in CI on Linux

We will ideally make the requirement global. But Python 3.5 is not
yet available in CI on macOS. And we're not finding the MozillaBuild
copy in configure.

This was previously announced in November at
https://groups.google.com/d/msg/mozilla.dev.platform/rJrPh1QYXrQ/hqRrQsJ_BgAJ.

MozReview-Commit-ID: IyPCAcL3gop

--HG--
extra : rebase_source : f9e3db043a1ce9c1a903c943663f22245febf101
2018-04-03 11:00:00 -07:00
Jan Beich
6a8b9ac6f9 Bug 1452509 - Move --enable-pulseaudio to moz.configure. r=froydnj
MozReview-Commit-ID: J1fJUukDJXh

--HG--
extra : rebase_source : c582a589b767d199413e77c7c237d4402599179f
2018-03-18 23:55:25 +00:00
Jan Beich
efa1be2618 Bug 1452509 - Move --enable-alsa to moz.configure. r=froydnj
MozReview-Commit-ID: Cv0HnZPvkWe

--HG--
extra : rebase_source : 1108a3d58e14bef335334e160186dca8a0bfcaee
2018-03-18 23:46:16 +00:00
Jeff Gilbert
afd77f7fd5 Bug 1444274 - Require GCC 6.1+. - r=glandium
MozReview-Commit-ID: 7alNSIhhbLI
2018-04-02 17:05:43 -07:00
Carl Corcoran
69b43c9d12 Bug 1448380: Allow overriding DIA SDK and VC paths with VC_PATH and DIA_SDK_PATH environment variables; r=froydnj
MozReview-Commit-ID: MKUaRYCTmP

--HG--
extra : rebase_source : 2140683c7e8112dc50f51bf31d1f4fda6206235e
extra : source : 05e46cd4a2faaad1a8f84ed5abeb3fd54dc88df4
2018-03-27 14:37:49 +02:00
Tom Ritter
30365927c8 Bug 1443898 Add -Xclang when passing fno-common to clang-cl r=glandium
MozReview-Commit-ID: Iz9gZENBwQo

--HG--
extra : rebase_source : 5557d3c5fa190abf6642265dde3a693782159be7
2018-03-13 10:32:15 -05:00
Sylvestre Ledru
cc3e7fe519 Bug 1411037 - Disable -Werror on -Wmultistatement-macros. Would be a pain to fix all occurrences, for very little gain r=froydnj
MozReview-Commit-ID: EdW0NpaOnPT

--HG--
extra : rebase_source : 00dc1e4b3820801ab40303d5340cc347a5ea88ab
2018-03-13 13:45:59 +01:00
Ryan VanderMeulen
0bd3547b12 Bug 1424281 - Require Visual Studio 2017 15.6.0 and Win SDK 10.0.15063.0 to build on Windows. r=froydnj
--HG--
extra : rebase_source : 0de2c47bb978ae92128fc00390649a327612890f
2018-03-12 19:24:44 -04:00
Ryan VanderMeulen
dde54aa578 Bug 1424281 - Use Visual Studio 2017 15.6.0 for Windows builds. r=froydnj
--HG--
extra : rebase_source : 2d5abb19c1f2b2e2f142b849bd4d0ba9ab46ccbe
2018-03-12 19:24:44 -04:00
Nathan Froyd
a40eef482a Bug 1437627 - part 3 - enable incremental compilation for Rust; r=chmanchester
We want this on for "normal" developer builds, but we want to leave it
off when the build is for some kind of profiling, i.e. when the
optimization level is higher than "normal" builds.
2018-03-12 12:25:39 -05:00
Nathan Froyd
dfc23d3001 Bug 1437627 - part 2 - move incremental compilation logic to moz.configure; r=chmanchester
Doing checks in Python is much simpler than doing them in Makefile
logic, and we're going to be adding some more complex logic in the next patch.
2018-03-12 12:25:39 -05:00
Nathan Froyd
bf3af464e4 Bug 1437627 - part 1 - separate out a function for rustc's opt level; r=chmanchester
We want to use this to compute whether incremental compilation can be
used for Rust, so we need access to it outside of rust_compiler_flags.
2018-03-12 12:25:39 -05:00
Gregory Szorc
a1f799ec10 Bug 1443712 - Add /d2:-cgsummary to PGO link flags; r=ted
This will tell us which functions PGO is spending its time in,
which functions are being optimized, and other interesting
statistics. The output is a handful of pages of text in our
current PGO builds and it seems useful for understanding the PGO
black box.

MozReview-Commit-ID: HUbAhltQrdL

--HG--
extra : rebase_source : eb188ebf84ee9ce6c7fe8bf69b6b156ee9f14956
2018-03-06 20:26:32 -08:00
Ralph Giles
d600998cd6 Bug 1430927 - Require Rust 1.24. r=froydnj
Require the current stable Rust release so new features can
be used in development.

MozReview-Commit-ID: 4NQNk3RfBkF

--HG--
extra : rebase_source : 9d88e6fdb823bd2e2ca8ac9940b1fafd420eebdc
2018-02-22 11:49:13 -08:00
Nathan Froyd
429ce7900b Bug 1439767 - add .mozbuild clang path to the toolchain search path on Windows; r=nalexander
Doing this means compiling with clang-cl is just `export CC=clang-cl` in
somebody's mozconfig, rather than something more elaborate.
2018-02-27 20:13:16 -05:00
Nick Alexander
daf2cc6ccf Bug 1440428 - Remove Proguard JAR entirely. r=jchen
The Proguard dependency is now managed by Gradle.

MozReview-Commit-ID: EOvKSE5z28P

--HG--
extra : rebase_source : 760b117f500cc639cc8c24e9c02933990f358dd7
2018-02-26 11:37:41 -08:00
David Major
146476c2c3 Bug 1439762 - Make configure fail when using clang-cl with a broken SDK. r=froydnj
--HG--
extra : rebase_source : 876e1d1c760a7c3de4f2bcaba9692df5e1bacb8d
2018-02-21 12:34:13 -05:00
David Major
8d81fe677d Bug 1402915: In clang-cl builds, use MSVC paths for INCLUDE/LIB/etc. r=froydnj
--HG--
extra : rebase_source : c63a662edd2e341e8c69ea2ace54e92f5bbd8711
2018-02-15 11:50:14 -05:00
Nick Alexander
12c4a78357 Bug 1437201 - Part 1: Don't try to use target as host with clang for Android. r=froydnj
The heuristic simply fails for clang as shipped in Android NDKs: those
clang binaries can't target any non-Android host.

MozReview-Commit-ID: 6AhOJxE3boW

--HG--
extra : rebase_source : 3716d4ff7ce2f1e796489e02e312d7554a5b1e6c
2018-02-09 14:32:28 -08:00
Dorel Luca
23a5631163 Backed out 2 changesets (bug 1437201) for Android build bustage on a CLOSED TREE
Backed out changeset 1a206d390b01 (bug 1437201)
Backed out changeset 04e61046bb44 (bug 1437201)
2018-02-10 02:40:11 +02:00
Nick Alexander
4655da981b Bug 1437201 - Part 1: Don't try to use target as host with clang for Android. r=froydnj
The heuristic simply fails for clang as shipped in Android NDKs: those
clang binaries can't target any non-Android host.

MozReview-Commit-ID: 6AhOJxE3boW

--HG--
extra : rebase_source : 2c8b59c15a7a7e9803f5447fc8f41fc843b2e647
2018-02-09 14:32:28 -08:00
Jeff Walden
0e77ce073b Bug 1435484 - Split the integer-overflow blacklist into two blacklists, one for signed integer overflow and one for unsigned integer overflow, and rename both configure flags to be clearer. r=decoder, r=froydnj
--HG--
rename : build/sanitizers/ubsan_blacklist_int.txt => build/sanitizers/ubsan_signed_overflow_blacklist.txt
rename : build/sanitizers/ubsan_blacklist_int.txt => build/sanitizers/ubsan_unsigned_overflow_blacklist.txt
2018-02-02 21:25:31 -08:00
David Major
cf15c01efb Bug 1436255: Allow check_prog('LINKER') to fall back to $PATH. r=glandium
--HG--
extra : rebase_source : 8c670636d56dacb51d4d646f8f518992578b9f5c
2018-02-08 12:01:51 +13:00
J. Ryan Stinnett
f69b532a8e Bug 1408643 - Fix up Proguard install command from configure. r=nalexander
MozReview-Commit-ID: nvUvoUzFLy

--HG--
extra : rebase_source : 7df5e8828e044037ba49255f04dfe38ed1cc0ca2
2018-02-02 09:43:18 -05:00
Noemi Erli
3d97de014c Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-02-03 12:11:21 +02:00
Jeff Walden
3c784f2dec Bug 1435170 - Split out --enable-ubsan-uint-overflow from --enable-ubsan-int-overflow. r=decoder, r=froydnj
--HG--
extra : rebase_source : 740de3f742a5c58bd317b8353cb4a86cb4fa92ac
2018-02-02 18:29:29 -08:00
Andreea Pavel
3cb61b9976 Backed out changeset 3b7ef7afd156 (bug 1408643) for failing flake8 at /builds/worker/checkouts/gecko/build/moz.configure/java.configure:98:100 on a CLOSED TREE 2018-02-03 00:20:25 +02:00
J. Ryan Stinnett
4be102b212 Bug 1408643 - Fix up Proguard install command from configure. r=nalexander
MozReview-Commit-ID: nvUvoUzFLy

--HG--
extra : rebase_source : acc1ec9e3c0a3b9e933d3a9ee354b12d69778bd3
2018-02-02 09:43:18 -05:00
Andrew Halberstadt
f354075c7a Bug 1434430 - [flake8] Fix blank 'except' statements r=rwood
This is a new issue that gets linted with flake8 3.5.0. Basically you should
never use a blank except: statement.

This will catch all exceptions, including KeyboardInterrupt and SystemExit
(which is likely not intended). If a catch all is needed, use
`except: Exception`.  If you *really* mean to also catch KeyboardInterrupt et
al, use `except: BaseException`.

Of course, being specific is often better than a catch all.

MozReview-Commit-ID: FKx80MLO4RN

--HG--
extra : rebase_source : 7c74a7d0d81f2c984b47aff3a0ee3448b791177b
2018-01-31 14:32:08 -05:00
Nathan Froyd
87e87fc09b Bug 1434659 - move --enable-oom-breakpoint to moz.configure; r=nalexander 2018-01-31 14:35:57 -05:00
Jim Chen
baa975d4c7 Bug 1428182 - 2. Check both quota.h and quotactl(); r=glandium
Android headers can have a <sys/quota.h> header but with its functions
ifdef'ed out. Check for that by checking for the presence of quotactl().

MozReview-Commit-ID: 26ILnbP7flO

--HG--
extra : rebase_source : fe78c114189a362cdad3d79ce67868b045328392
2018-01-30 14:08:22 -05:00
Jim Chen
b3c3de5de5 Bug 1428182 - 1. Support unified headers for Android builds; r=nalexander
NDK headers are grouped into a "sysroot" directory, which doesn't
contain architecture-specific bits, and a "system" directory, which
contains only the architecture-specific bits. Previously, both
directories are the same, under platforms/android-*/arch-*/. However,
with unified headers in NDK r16, the two are different, so we need to
support that in the Android build scripts.

Unified headers also rely on the build system defining the
__ANDROID_API__ macro, so we add support for that as well.

MozReview-Commit-ID: 9zBNQC3BRFl

--HG--
extra : rebase_source : 9ded282343df64d9cc4abcf7d7c6b03ac3423ff0
2018-01-30 14:08:22 -05:00
Cosmin Sabou
c6a0d55423 Backed out 11 changesets (bug 1428182) for build bustages on pixman-inlines.h:29:10 on a CLOSED TREE
Backed out changeset 84c767de6202 (bug 1428182)
Backed out changeset 429433caa78c (bug 1428182)
Backed out changeset c576e9d1f68f (bug 1428182)
Backed out changeset 092662eab5eb (bug 1428182)
Backed out changeset 4dd7eaff3ab5 (bug 1428182)
Backed out changeset fbbb0745b139 (bug 1428182)
Backed out changeset 1d1278b289b7 (bug 1428182)
Backed out changeset 55891ffb3768 (bug 1428182)
Backed out changeset 4655e1b1b237 (bug 1428182)
Backed out changeset 377eada51b3c (bug 1428182)
Backed out changeset 17c0e373d921 (bug 1428182)

--HG--
rename : ipc/chromium/src/third_party/libevent/patches/android-api-level.patch => ipc/chromium/src/third_party/libevent/patches/android-arc4random-buf.patch
2018-01-30 01:22:33 +02:00
Jim Chen
9f9eafdcd0 Bug 1428182 - 2. Check both quota.h and quotactl(); r=glandium
Android headers can have a <sys/quota.h> header but with its functions
ifdef'ed out. Check for that by checking for the presence of quotactl().

MozReview-Commit-ID: 26ILnbP7flO

--HG--
extra : rebase_source : 147e4be9eb98326fd4946b7b3695c573c7108347
2018-01-29 17:38:13 -05:00
Jim Chen
35691135a8 Bug 1428182 - 1. Support unified headers for Android builds; r=nalexander
NDK headers are grouped into a "sysroot" directory, which doesn't
contain architecture-specific bits, and a "system" directory, which
contains only the architecture-specific bits. Previously, both
directories are the same, under platforms/android-*/arch-*/. However,
with unified headers in NDK r16, the two are different, so we need to
support that in the Android build scripts.

Unified headers also rely on the build system defining the
__ANDROID_API__ macro, so we add support for that as well.

MozReview-Commit-ID: 9zBNQC3BRFl

--HG--
extra : rebase_source : 36c9d4d5625fecbbe2485668811f85f9d94372d5
2018-01-29 17:38:11 -05:00
Ralph Giles
dc8c14e96a Bug 1433185 - Require Rust 1.23. r=nalexander
It's been more than two weeks since the 1.23 stable release, and
we're making official builds with that toolchain release, so begin
requiring that version so new language features can be used in
development.

MozReview-Commit-ID: E6WuP41ceTn

--HG--
extra : rebase_source : 75850dd9edbf8e3f9beab394e4af7fad76ce3b17
2018-01-25 10:29:11 -08:00
Tom Ritter
2bce63f964 Bug 1419607 Specify -fno-common for ASAN builds r=glandium,tsmith
MozReview-Commit-ID: JCXLNeQkGpq

--HG--
extra : rebase_source : e9b46f033dd4f8c4e95df85523adc88224410486
2018-01-16 08:00:31 -06:00
Tom Ritter
c65c886e14 Bug 1418052 Correctly process hardening flags for ASAN, --disable-hardening, and --disable-optimize r=decoder,glandium
Will also address Bug 1377553 and part of Bug 1419607

MozReview-Commit-ID: AUCqBxEGpAl

--HG--
extra : rebase_source : 5547e2c8fbf4e2e87182b8720d8352c131e4ec65
2017-11-20 22:20:56 -06:00
David Major
774bdeb18e Bug 1429128: Pass -m32 when building Win32 binaries with Win64 clang-cl. r=froydnj 2018-01-10 12:17:32 -05:00
Ted Mielczarek
ad688de73b bug 1401647 - use a 64-bit Rust toolchain for win32 builds. r=nalexander,rillian
We currently use a 32-bit Rust toolchain for win32 builds, but this can lead
to OOM situations. This patch makes win32 builds use a 64-bit Rust toolchain,
which requires a little bit of extra configuration because rustc needs to
be able to find a link.exe that produces 64-bit binaries for building
things like build scripts, which are host binaries.

We will now generate a batch file that sets LIB to the paths to 64-bit
libraries and invokes the x64-targeting link.exe, and add a section to the
.cargo/config file to instruct cargo to use that batch file as the linker
when producing 64-bit binaries.

MozReview-Commit-ID: 9vKBbm7Gvra

--HG--
extra : rebase_source : 273a99be71914167664482c2bdb26c840ec6867b
2017-12-14 10:20:33 -06:00
Mike Hommey
a6484528bd Bug 1410148 - Fully re-enable debug info on mac builds. r=gps
--HG--
extra : rebase_source : b6063977691ee68eb8db1bc38b57b6237daee443
2017-12-28 18:01:50 +09:00
Ciure Andrei
8e754a1049 Backed out 2 changesets (bug 1410148) for bustage failures on python\mozbuild\mozbuild\test\configure\lint.py r=backout a=backout on a CLOSED TREE
Backed out changeset f77f58a060ad (bug 1410148)
Backed out changeset 593515920c7e (bug 1410148)
2017-12-29 22:31:51 +02:00
Mike Hommey
66ed1c2e3a Bug 1410148 - Fully re-enable debug info on mac builds. r=gps
--HG--
extra : rebase_source : 44400063c868c9ce83c1310d30c6359e9b0b0759
2017-12-28 18:01:50 +09:00
Chris Cooper
f2819347e3 Bug 1410148 - Attempt to fix OS X cross-compile builds on central by changing rust debug log level to 0. r=Aryx a=bustage-fix-attempt
--HG--
extra : amend_source : 3eba0bc3e2008806b048f285215b338f2a8bcf2d
2017-12-23 21:12:47 +01:00
Mike Hommey
cffd7e8396 Bug 1426555 - Move --enable-stdcxx-compat to python configure. r=chmanchester
At the same time, we make it actually do something on spidermonkey
builds. We also add an environment variable alternative, that we use
in mozconfig.stdcxx, allowing for mozconfig.no-compile to override it
and avoid configure failures on e.g. artifact builds.

--HG--
extra : rebase_source : b68d362025e0c99f9184a03391c652ec2c9357ad
2017-12-21 11:13:08 +09:00
Mike Hommey
ec8fa73867 Bug 1426555 - Allow to add host compiler flags from python configure. r=chmanchester
Bug 1325632 added some facility to add target compiler flags. This
change extends it to add allow adding host compiler flags as well.

--HG--
extra : rebase_source : 424b405a1d8f9a4778ff75c3308c9622f050e194
2017-12-21 11:11:22 +09:00
Csoregi Natalia
1dcea46201 Backed out 2 changesets (bug 1401647) for Spidermonkey Build Bustage on Linux x64. r=backout on a CLOSED TREE
Backed out changeset b5c9bb05168d (bug 1401647)
Backed out changeset 0542716bb901 (bug 1401647)
2017-12-21 14:14:26 +02:00
Ted Mielczarek
67204b6593 bug 1401647 - use a 64-bit Rust toolchain for win32 builds. r=rillian
We currently use a 32-bit Rust toolchain for win32 builds, but this can lead
to OOM situations. This patch makes win32 builds use a 64-bit Rust toolchain,
which requires a little bit of extra configuration because rustc needs to
be able to find a link.exe that produces 64-bit binaries for building
things like build scripts, which are host binaries.

We will now generate a batch file that sets LIB to the paths to 64-bit
libraries and invokes the x64-targeting link.exe, and add a section to the
.cargo/config file to instruct cargo to use that batch file as the linker
when producing 64-bit binaries.

MozReview-Commit-ID: 9vKBbm7Gvra

--HG--
extra : rebase_source : 366dd966cafe4f07b8e59fc170d2db2dada32627
2017-12-14 10:20:33 -06:00
David Major
18a5250f02 Bug 1425906: Rename LINK to LINKER throughout the build system. r=glandium
Windows linkers give special meaning to getenv("LINK"), which makes `export LINK=...` in mozconfigs do unexpected things.
2017-12-20 09:07:46 -05:00
Nathan Froyd
de9853b2ff Bug 1425035 - move --enable-ui-locale to moz.configure; r=gps
We need MOZ_UI_LOCALE even when building the JS shell so
config/config.mk variable assignments don't run into issues.  But it
doesn't make any sense to configure a UI locale for the JS shell.  So
make --enable-ui-locale a normal `option`, but give it a `default`,
which is the value shell-only builds will always see.

--HG--
extra : amend_source : 047759dd6ec446d9d6f8f5992ed9cf6628ce859e
2017-12-18 14:21:26 -08:00
Nathan Froyd
cd85ab8af7 Bug 1422734 - move --enable-small-chunk-size to moz.configure; r=chmanchester 2017-12-03 13:44:55 -05:00
Nathan Froyd
6d4a891a5f Bug 1422859 - move MOZILLA_*VERSION setting into moz.configure; r=chmanchester
This has the virtue of not executing python three times during configure
just to read the same value of milestone.txt and munge it.  We can also
remove milestone.py as a happy side effect, so all the milestone
computations can be done in init.configure.
2017-12-04 11:19:25 -05:00
Ralph Giles
e22361a5ac Bug 1421097 - Require at least Rust 1.22.1. r=ted
Bump the minimum required Rust version now that 1.22.1
has been in stable release for more than two weeks.

Version 1.22.0 works fine everywhere but macOS 10.13,
but 1.22.1 was released the same day, so it's no harder
to upgrade to.

Also update the base-toolchain builds to ensure we
continue to build with this version.

MozReview-Commit-ID: GlRWUNE07G0

--HG--
extra : rebase_source : f37585db5633e6e64b02bc94c2516b5ab18c3e15
2017-12-07 21:08:53 -08:00
Cosmin Sabou
c3a26ac81a Backed out changeset 1ee72d1a9430 (bug 1418052) for Linux x64 asan build bustages on /builds/worker/workspace/build/src/config/recurse.mk:32 r=backout on a CLOSED TREE 2017-12-08 13:44:13 +02:00
Tom Ritter
45ec0ac30c Bug 1418052 Correctly process hardening flags for ASAN, --disable-hardening, and --disable-optimize r=decoder,glandium
Will also address Bug 1377553 and part of Bug 1419607

MozReview-Commit-ID: AUCqBxEGpAl

--HG--
extra : rebase_source : f7582d7089f0f4582a02aeaef090dc0701df994d
2017-11-20 22:20:56 -06:00
Nathan Froyd
ec3249906a Bug 1422607 - move PREPROCESS_OPTION to moz.configure; r=chmanchester 2017-12-04 08:14:06 -05:00
Nathan Froyd
3a307d4ebb Bug 1422540 - move --enable-gczeal to moz.configure; r=nalexander 2017-12-03 13:40:03 -05:00
Nathan Froyd
609fb452b4 Bug 1422380 - move --enable-jitspew to moz.configure; r=nalexander 2017-12-02 13:43:40 -05:00
Nathan Froyd
01a91d775d Bug 1421792 - move --enable-trace-logging to moz.configure; r=nalexander 2017-12-02 13:43:41 -05:00
Nathan Froyd
e511fa1e4b Backout f9231cda92d8 (bug 1421792) on suspicion of causing inscrutable moz.configure lint errors; r=bustage
Do this on a CLOSED TREE, of course.
2017-12-01 22:04:58 -05:00
Nathan Froyd
ed33603f94 Bug 1421792 - move --enable-trace-logging to moz.configure; r=nalexander 2017-12-01 21:29:27 -05:00
Nathan Froyd
d7b5304b9d Bug 1421791 - move --enable-{ion,simulator} definitions to moz.configure; r=nalexander
--enable-ion was only used by --enable-simulator and related options, so
there wasn't much point in making two separate commits.

This translation is a little more verbose than the original
old-configure code, but I think it is more readable and easier to
follow.  We also don't port over --enable-simulator=no, as there doesn't
seem to be much point in doing so.
2017-12-01 21:29:27 -05:00
Mike Hommey
50d09b60b0 Bug 1420355 - Allow to statically link replace-malloc libraries. r=njn
And statically link logalloc.

Statically linking is the default, except when building with
--enable-project=memory, allowing to use the generated libraries from
such builds with Firefox.

--HG--
extra : rebase_source : efe9edce8db6a6264703e0105c2192edc5ca8415
2017-11-23 17:24:19 +09:00
Csoregi Natalia
4ce8d0124c Backed out 7 changesets (bug 1420355) for mass failures on OS X and Android. r=backout on a CLOSED TREE
Backed out changeset a7ed89e13a4c (bug 1420355)
Backed out changeset fd6702e6e0a0 (bug 1420355)
Backed out changeset 0479dda078a2 (bug 1420355)
Backed out changeset e69357ccca9e (bug 1420355)
Backed out changeset 3742a4b69ba2 (bug 1420355)
Backed out changeset 451cd087922f (bug 1420355)
Backed out changeset d80b5c4e1dd0 (bug 1420355)
2017-11-29 03:08:46 +02:00
Mike Hommey
d60e80991e Bug 1420355 - Allow to statically link replace-malloc libraries. r=njn
And statically link logalloc.

Statically linking is the default, except when building with
--enable-project=memory, allowing to use the generated libraries from
such builds with Firefox.

--HG--
extra : rebase_source : efe9edce8db6a6264703e0105c2192edc5ca8415
2017-11-23 17:24:19 +09:00
Ted Mielczarek
0d2c1d3036 bug 1396993 - fix flake8 lint. r=bustage CLOSED TREE
MozReview-Commit-ID: LYxUmVzYMbz

--HG--
extra : rebase_source : 8738ff67e98afb9282a3d70886f3e4afca18d488
extra : amend_source : a614440e705fbd383b0f26249b7c87c1eeb8122e
2017-11-27 09:57:49 -05:00
Ted Mielczarek
8d741405f5 bug 1396993 - Look in ~/.cargo/bin for rustc+cargo even they're not in PATH. r=rillian
rustup installs rustc+cargo to ~/.cargo/bin by default, so make configure look
there to avoid the annoying case where someone installed rust and cargo
(possibly via `mach bootstrap`) but forgot to add ~/.cargo/bin to their PATH.

MozReview-Commit-ID: GZOcFdFmzA5

--HG--
extra : rebase_source : 9dae473b5804f096992cae7f90df4c87bb4e5af4
extra : source : 9324e5e56038a1e548b0fc4d94d9df445734ff1e
2017-09-05 16:38:18 -04:00
Mike Hommey
ebb5fb6002 Bug 1420092 - Don't reject --enable-jemalloc on platforms where it's not the default. r=njn
The first step of making --enable-jemalloc the default everywhere is to
at least allow to build with it everywhere. Which currently probably
fails on a few platforms, but they're not going to be fixed if they're
explicitly rejected at configure time.

--HG--
extra : rebase_source : f29383e2d73986f3e5b033ac82c0d520bacd4fa6
2017-11-23 15:39:08 +09:00
Mike Hommey
dda2902840 Bug 1420092 - Don't always enable mozjemalloc by default when building the js engine. r=njn
The target.kernel-based tests should be enough.

--HG--
extra : rebase_source : 6dce05a8c097af1402dc98a3fa75a2ef581ef862
2017-11-23 15:38:39 +09:00
Mike Hommey
9fc893add0 Bug 1420092 - Enable mozjemalloc by default on 32-bit OSX. r=njn
Hopefully, the bug we worked around by disabling jemalloc on 32-bit OSX
is gone. We're not shipping 32-bit binaries for OSX anyways.

--HG--
extra : rebase_source : 148a80a7ab006d3be81fb931cbbb4ad2c81690c3
2017-11-23 15:36:13 +09:00
Cosmin Sabou
27758db986 Backed out 3 changesets (bug 1420092) for build bustages on python/mozbuild/mozbuild/test/configure/lint.py::Lint r=backout on a CLOSED TREE
Backed out changeset 3df6a2608986 (bug 1420092)
Backed out changeset 156b99af764d (bug 1420092)
Backed out changeset f472190629fb (bug 1420092)
2017-11-23 11:09:54 +02:00
Mike Hommey
a5ffa3c0c0 Bug 1420092 - Don't reject --enable-jemalloc on platforms where it's not the default. r=njn
The first step of making --enable-jemalloc the default everywhere is to
at least allow to build with it everywhere. Which currently probably
fails on a few platforms, but they're not going to be fixed if they're
explicitly rejected at configure time.

--HG--
extra : rebase_source : 0905861d5a2cc62f5b37c5ee811e56e1e063a133
2017-11-23 15:39:08 +09:00
Mike Hommey
9102f2075b Bug 1420092 - Don't always enable mozjemalloc when building the js engine. r=njn
The target.kernel-based tests should be enough.

--HG--
extra : rebase_source : 4af988ac952f3a65c638bf7bb308a8ddf4798bcf
2017-11-23 15:38:39 +09:00
Mike Hommey
95ce6018b6 Bug 1420092 - Enable mozjemalloc by default on 32-bit OSX. r=njn
Hopefully, the bug we worked around by disabling jemalloc on 32-bit OSX
is gone. We're not shipping 32-bit binaries for OSX anyways.

--HG--
extra : rebase_source : bfe765977dedf1949da4d5919032cadfb4675f1f
2017-11-23 15:36:13 +09:00
Tom Prince
723093b6c2 Bug 1418652: Migrate comm-central configure options to moz.configure; r=chmanchester,Fallen
MozReview-Commit-ID: JBRsgBnB9oF

--HG--
extra : rebase_source : bd4663493fdb851091acae34c5e52195173a9e42
2017-11-18 10:21:38 -07:00
Tom Prince
4972fabbb9 Bug 1418652: Remove non-existant comm-centrall configure option; r=chmanchester,Fallen
It was removed in Bug 1318966.

MozReview-Commit-ID: 6fckjVDubTT

--HG--
extra : rebase_source : a0394af2905ee815faa502987f68921a396c242e
2017-11-18 10:17:21 -07:00
Coroiu Cristina
8f9440611e Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-11-22 01:46:49 +02:00
Bob Owen
6732c613c1 Bug 1415569: Make version 10.0.14393.0 the minimum Win10 SDK required for building Firefox. r=ted
This is required for the latest chromium sandbox update.
2017-11-21 09:57:21 +00:00
David Major
02c9050df5 Bug 1417958 - Normalize lib paths to appease VS2017's incremental linking. r=nalexander
--HG--
extra : rebase_source : d834aef165b35fec0c880656976267e03d68180d
2017-11-17 09:15:00 -05:00
Ciure Andrei
92d28bd8f2 Merge inbound to mozilla-central r=merge a=merge 2017-11-17 11:59:03 +02:00
Nathan Froyd
b091540d91 Bug 1418047 - remove -Wc++11-compat warning; r=rillian
We live in a C++14 world now.
2017-11-16 20:51:46 -05:00
Bill McCloskey
794104b1e1 Bug 1413738 - Mozsearch clang plugin (r=mystor)
MozReview-Commit-ID: 53zUQ0vDMpd
2017-11-16 15:06:32 -08:00
Nathan Froyd
fd656b936c Backout b0eedb4c140b (bug 1412983 part 6) for breaking local Windows builds; r=bustage; a=bustage 2017-11-16 09:53:34 -05:00
Mike Hommey
6e39384683 Bug 1417689 - Move elfhack related things to python configure. r=nalexander 2017-11-16 09:37:31 +09:00
Mike Hommey
398c8e8356 Bug 1417309 - Add the necessary bits to support a --enable-project=memory option. r=nalexander
The option allows to iterate on the allocator code without requiring a
complete setup to build Firefox.
2017-11-16 08:37:36 +09:00
Chris Peterson
948ba6b694 Bug 1418573 - Remove -Wc++14-compat flag because we now compile with -std=c++14. r=rillian
-Wc++14-compat warns about code whose meaning differs between C++11 and C++14. We want the new C++14 meanings, so we don't need to warn about these differences. We still want -Wc++1z-compat because we want to know about C++14 code whose meaning will change in C++17 or C++20.

MozReview-Commit-ID: 1CD11l2Fd86

--HG--
extra : rebase_source : 7bac029fd3e852fbb92f07e0358307c2c834ddc8
extra : source : 2d49767b136e420d39b88267f611fbe72ed0a3b8
2017-11-17 23:58:04 -08:00
Tom Ritter
59de60ae4b Bug 1407343 Silence multiple classes of warnings for the MinGW build, including not enabling format warnings unless -Wformat is set r=froydnj,glandium
MozReview-Commit-ID: ALmo1hbqVxC

--HG--
extra : rebase_source : a68475b90372cd5679c37474fb6705b2a5d48ddf
2017-11-16 12:36:33 -06:00
Nathan Froyd
edb937162e Bug 1325632 - part 6 - compile with C++14 support; r=glandium 2017-11-15 13:53:16 -05:00
Nathan Froyd
f51359bd19 Bug 1325632 - part 5 - ensure that we compile with -fno-sized-deallocation when possible; r=chmanchester
We currently turn off the C++14 sized-deallocation facility on MSVC, and
we'd like to ensure we do the same thing for clang and gcc.  To do so,
we add new functionality to moz.configure for checking and adding
compilation flags, similar to the facility for checking and adding
warning flags.  The newly added facility is then used to add
-fno-sized-deallocation to the compilation flags, when the option is
supported.

Once we do this, we can't define the sized deallocation functions in
mozalloc.h; the compiler will complain that we are using
-fno-sized-deallocation, yet defining these special functions that we'll
never use.  These functions were added for MinGW, where we needed to
compile with C++14 ahead of other platforms to be compatible with MSVC
headers.  But they're no longer necessary, though they would be if we
removed -fno-sized-deallocation; the compiler will complain if we do
that and we'll add them back at that point.
2017-11-15 14:53:16 -04:00
Nathan Froyd
2e127f22ea Bug 1325632 - part 4 - split out framework for testing flags; r=chmanchester
We have code to test whether particular flags are supported for the
compiler we're using.  Unfortunately, that code is tied up with checking
for warning flags.  We're about to add a separate facility for generic
compilation flags, and we'd like to avoid cutting and pasting code if
possible.  Let's split the core code out into a separate, reusable function.
2017-11-15 13:53:16 -05:00
Nathan Froyd
b38d89886c Bug 1325632 - part 2 - don't warn about c++98/c++11 compatibility problems; r=ted.mielczarek
We're going to compile with C++14 and we don't plan to go back.
2017-11-15 14:53:17 -04:00
Nathan Froyd
ade9d452f7 Bug 1412983 - part 6 - compile headers for cross-compilers during configure; r=ted.mielczarek
Our toolchain detection logic checks whether we can reuse the target
C (resp. C++) compiler for the host compiler.  This is generally only
applicable in the not-cross-compiling case, but we had special logic to
check for clang in the cross-compiling case and accept it, as clang is
able to generate code for multiple architectures from a single compiler
binary.

Our recent switch to clang on Android has exposed a problem in this
logic: we would never check whether the target clang, compiling for the
host, could actually find the host's headers.  This was especially
problematic on OS X hosts, where the host clang contains special logic
to grovel inside the XCode installation to find C++ headers.  The clang
from the NDK, however, was ignorant of the XCode installation.
Therefore, the NDK clang would happily compile code for the host, even
including C headers for the host, but would be hopelessly lost when it
came to compiling C++ headers during the actual build.

In hopes of mitigating this, we now include a check for a representative
header for C and C++ when checking compilers for each of those
languages.  This check will detect such problems as the above, and will
also alert people to potentially misconfigured compilers in other
situations.

We need to modify our test framework to cope with headers being
included, since our mock environment isn't actually equipped with a full
set of compilers and headers.
2017-11-15 10:12:22 -05:00
Nathan Froyd
fd5e1affd1 Bug 1412983 - part 5 - remove stlport_cppflags dependency from bindgen_cflags_defaults; r=ted.mielczarek
Now that extra_toolchain_flags includes stlport_cppflags, there's no
reason bindgen_cflags_defaults should depend on them both.  So remove
the stlport_cppflags dependency.  (There's no harm to multiply-including
stlport_cppflags, but not repeating -I options is good practice.)
2017-11-15 10:12:22 -05:00
Nathan Froyd
e18f985bb2 Bug 1412983 - part 4 - make extra_toolchain_flags depend on stlport_cppflags; r=ted.mielczarek
extra_toolchain_flags is used for compiling target-specific bits of code
elsewhere in configure.  Very shortly, we'll need to compile bits of
code that depend on the C++ standard library, so we'll want to point the
compiler at the C++ standard library.  Making extra_toolchain_flags
include stlport_cppflags is the best way to do that.
2017-11-15 10:12:22 -05:00
Nathan Froyd
e03872a402 Bug 1412983 - part 3 - move stlport_cppflags prior to extra_toolchain_flags; r=ted.mielczarek
extra_toolchain_flags is going to depend on stlport_cppflags
momentarily, so this commit is just for moving code around.  Note that
the diff shows other things moving *after* stlport_cppflags.
2017-11-15 10:12:23 -05:00
Nathan Froyd
741ca70abc Bug 1412983 - part 2 - use extra_toolchain_flags for computing bindgen flags; r=ted.mielczarek
We compute the same set of data in extra_toolchain_flags as we were
computing in bindgen_cflags_defaults.  We might as well reuse the former
to compute the latter.
2017-11-15 10:12:23 -05:00
Nathan Froyd
c9224d1d2e Bug 1412983 - part 1 - convert stlport_cppflags to return a list; r=ted.mielczarek
A list is a better format for these options, and we'll want a list later
when we use the options as compilation flags.
2017-11-15 10:12:23 -05:00
Noemi Erli
550148ab69 Merge inbound to mozilla-central r=merge a=merge 2017-11-15 11:57:12 +02:00
Chris Manchester
8055730c30 Bug 1416490 - Ensure environment variables that are configure options are passed from configure to old-configure. r=glandium
MozReview-Commit-ID: GFP8bahu1bb

--HG--
extra : rebase_source : 1ff35a8b6470308b71dc74c2befb8219a41534c2
2017-11-13 23:33:35 -08:00
Chris Manchester
2473770fb6 Bug 1416490 - Check for a value passed to RUSTC_OPT_LEVEL rather than whether its value was a default. r=glandium
The current code will fail if "RUSTC_OPT_LEVEL=" is passed. This can happen
if the value isn't present and that fact is injected into js' configure. We
only want to respect RUSTC_OPT_LEVEL if a value is passed, so we simply check
for the presence of a value rather than its origin.

MozReview-Commit-ID: 6GhLfprJEEn

--HG--
extra : rebase_source : 40f3e381a128e04d65cc0175df32cdcd8302e05e
2017-11-13 22:07:46 -08:00
Chris Manchester
72c380c671 Bug 1416059 - Emit ASFLAGS and YASM_ASFLAGS from configure as lists. r=mshal
MozReview-Commit-ID: LBWpzQ9mISI

--HG--
extra : rebase_source : 4c722e68db4b6858aabbbecac834ea8772e0e06a
2017-11-14 10:38:17 -08:00
Andreea Pavel
a1061f09c5 Backed out 2 changesets (bug 1416059) for failing /python/mozbuild/mozbuild/test/frontend/test_emitter.py::TestEmitterBasic::test_use_yasm r=backout on a CLOSED TREE
Backed out changeset 597624409f4c (bug 1416059)
Backed out changeset d0df69766fa5 (bug 1416059)
2017-11-14 20:44:54 +02:00
Chris Manchester
4dca13b1ae Bug 1416059 - Emit ASFLAGS and YASM_ASFLAGS from configure as lists. r=mshal
MozReview-Commit-ID: LBWpzQ9mISI

--HG--
extra : rebase_source : f4074f4bdb0acddceeb57d9806c9a7f63a579280
2017-11-13 14:13:11 -08:00
Ted Mielczarek
851b7e1370 bug 1410148 - try to work around llvm-dsymutil crashes again by lowering rust debuginfo level on cross-mac builds. r=nalexander 2017-11-14 19:48:55 +01:00
Ryan VanderMeulen
b16410f51c Merge inbound to m-c. a=merge 2017-11-10 16:13:15 -05:00
Gregory Szorc
02bc7e2b1b Bug 1320738 - Mark MOZ_PGO as a JS option. r=froydnj, a=RyanVM
The changesets in bug 1412932 changed the semantics for MOZ_PGO.
Before, it was effectively being set as an environment variable
by client.mk all the time. Afterwards - specifically after
2013c8dd1824 - the variable is set in mozconfigs via ac_add_options,
which means it is only exposed to configure, not the environment.

Investigation by dmajor revealed that -WX (warnings as errors) was
added to a js/src file's compiler invocation after the PGO code
refactor. (PGO and warnings as errors have a strange interaction
- bug 437002 - and should be disabled there.) Strangely, addition
of -WX was only present on Dev Edition PGO builds.

The reason for this is likely mozharness. Mozharness will export
the MOZ_PGO=1 environment variable for build configurations that
it knows are PGO. It appears to do this for all PGO build
configurations except Dev Edition. Since make and moz.configure
inherit environment variables, mozharness was basically papering
over the intended behavior change in 2013c8dd1824.

This commit fixes the problem by marking MOZ_PGO as a JS option
in moz.configure. This means `ac_add_options MOZ_PGO=1` (the new
convention for enabling PGO) will set MOZ_PGO for SpiderMonkey's
moz.configure.

Of course, MOZ_PGO=1 in an environment variable still works. And
mozharness's setting of this variable has the intended effect.
Eventually, I'd like to clean up the mozharness code so it is less
PGO aware and enables PGO via ac_add_options. But that's for another
day.

MozReview-Commit-ID: 1KYPJARI6SJ

--HG--
extra : amend_source : 5291cead9f1c1af9ed2a1f608af770bc8e4958c5
2017-11-10 09:23:27 -08:00
Narcis Beleuzu
218e1676cb Merge inbound to mozilla-central r=merge a=merge 2017-11-08 12:51:09 +02:00
Margareta Eliza Balazs
130574a8e2 Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE 2017-11-08 00:09:29 +02:00
Margareta Eliza Balazs
4164a3a53d Merge inbound to mozilla-central r=merge a=merge 2017-11-07 23:57:03 +02:00
Randall Barker
8cb9ab66e9 Bug 1413362 - part 3: Add support to build system for GoogleVR based WebVR on Android r=froydnj,nalexander
MozReview-Commit-ID: 8BHBnvor5VT
2017-11-07 10:50:15 -08:00
Tom Prince
0463d142d7 Bug 1414298: Don't try to set yasm version config settings if yasm isn't found. r=froydnj
MozReview-Commit-ID: LTDxJ5su7sM

--HG--
extra : rebase_source : ab80df38451c59760aad0931c66104480195fb96
2017-11-06 11:07:26 -07:00
Sylvestre Ledru
c2b37a7ed8 Bug 1414794 - Unbreak the lld usage by providing the right data structure r=froydnj
MozReview-Commit-ID: 1caPjLBR4vS

--HG--
extra : rebase_source : e5028d054430028e2ad2caca84bd7514fd37f4de
2017-11-06 14:23:57 +01:00
Gregory Szorc
989efa7a51 Bug 1415335 - Move Windows line endings detection to configure; r=nalexander
This doesn't need to be in client.mk.

Also, we inline the info to help people correct the failure, as this
results in a better user experience.

MozReview-Commit-ID: KURL3RIGzKf

--HG--
extra : rebase_source : dc79d3f6aa4e91a12cab0e26d5fc0a3e15afa833
extra : source : 2eceb30625acd8cfadda0baa6326a7e9fd07dece
2017-11-07 17:16:39 -08:00
Gregory Szorc
6ff5d5762b Bug 1415335 - Move spaces in path check to configure; r=nalexander
Checks like this are what configure is for.

In addition to moving the check, we also validate topobjdir as well.

MozReview-Commit-ID: 9sVNQJsAnjO

--HG--
extra : rebase_source : 688961fffca5922c7186c0d39182de7220f7dbe3
extra : source : d9a4ea9bc34a1e0c710469fc0a556ed624ea387b
2017-10-30 16:35:04 -07:00
David Major
ea84880cdf Bug 1412952 - Use VS2017 with clang-cl builds. r=froydnj 2017-11-03 12:29:58 -04:00
Masatoshi Kimura
fce93f8e97 Bug 1414602 - fix flake8 lint errors. r=bustage-fix
MozReview-Commit-ID: AsJX4PQ1SIf

--HG--
extra : rebase_source : 42fd9620462d5b289cf1beaf463b3ca37453e30a
extra : amend_source : cbecb288db1af3865b36eaf75f0024f296df5dfc
2017-11-07 21:05:07 +09:00
Masatoshi Kimura
383e90a03b Backed out changeset 6555a2a899a0 (bug 1384557) due to causing bug 1414060. r=backout
MozReview-Commit-ID: FV44JQSDXPQ

--HG--
extra : amend_source : 8c05281fad889edd723ab58786d0bf16f7d325b0
2017-11-07 20:39:00 +09:00
Sebastian Hengst
f2944960ec Backed out 3 changesets (bug 1413362) for causing merge conflicts. r=merge a=merge
Backed out changeset 8b15dfaeecaa (bug 1413362)
Backed out changeset 2d9da0d19d04 (bug 1413362)
Backed out changeset 653c66220a5f (bug 1413362)

--HG--
extra : amend_source : e5c12297b0bb6ebe27a2481e4aac6c0ca8160a1b
2017-11-07 12:41:11 +02:00
Randall Barker
0f56210acd Bug 1413362 - part 3: Add support to build system for GoogleVR based WebVR on Android r=froydnj,nalexander
MozReview-Commit-ID: 8BHBnvor5VT
2017-11-06 17:43:29 -08:00
Nathan Froyd
17b6101551 Bug 1341234 - part 2 - add an intermediate step for determining bindgen's CFLAGS; r=gps
Add an intermediate step in old-configure.in for setting up
BINDGEN_CFLAGS (renamed to BINDGEN_SYSTEM_FLAGS), so we can add whatever
flags we like (e.g. for system libaries with their includes in
non-standard places) at a later point.
2017-11-10 10:05:36 -05:00
Tom Prince
e1f007efbe Bug 1413257: Allow disabling ffvpx's AVX2 support on linux64 for Thunderbird's buildbot; r=jya,rillian
MozReview-Commit-ID: 6USzO1GE7dJ

--HG--
extra : rebase_source : 4a25c5e7c1cbe7bb063f615accf6563333c48c9c
2017-10-31 12:42:27 -06:00
Ted Mielczarek
cb2b9afefe bug 1384557 - fix flake8 lint errors
MozReview-Commit-ID: 8dgZdOkAZ56

--HG--
extra : rebase_source : 6d4f937190c7312b3482d994ada31fa6ff5d2fac
2017-11-01 10:03:08 -04:00
Ted Mielczarek
54b6236e29 bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache r=glandium
Currently mozconfig.cache overrides a few build options for sccache. This
patch moves them into toolchain.configure so that the build system will
set them properly when sccache is in use. Additionally, {CC,CXX}_WRAPPER
are set in config.mk, so just avoid setting them when sccache is in use.

MozReview-Commit-ID: FYlVKRI8OiN

--HG--
extra : rebase_source : 00715beb5fbd2c11311dec43809bd1febab56a11
extra : intermediate-source : 0f2b1b75b83737378d882a3c3e0d8dfb4efecd1f
extra : source : a8032ae9cb2ad1c4574c6ac6f5c2778863cd71e0
2017-01-10 16:52:27 -05:00
Sebastian Hengst
2470a9a87b merge mozilla-central to autoland. r=merge a=merge 2017-11-01 00:38:25 +01:00
Petr Sumbera
9fb34379c3 Bug 1412781 - sparcv9 cpu should be evaluated as 64bit. r=glandium 2017-10-30 02:50:48 -07:00
Sebastian Hengst
ea2bfe23e2 merge autoland to mozilla-central. r=merge a=merge
MozReview-Commit-ID: BnX9U7tZ4zU
2017-10-30 23:42:58 +01:00
Nathan Froyd
1c4901d060 Bug 1412734 - use the correct command-line flags to detect gold; r=snorp; a=RyanVM
We were adding c_compiler.flags and toolchain_flags to some paths
through this function, but not all.  Not adding those flags caused this
function to detect the host's ld.gold instead of the target's ld.gold.
And that, in turn, caused linker errors when the host ld.gold couldn't
understand the target's object files.

MozReview-Commit-ID: vJzWagUGkL
2017-10-30 12:06:54 -04:00
Gregory Szorc
7d078ee731 Bug 1412431 - Remove support for MOZ_BUILD_PROJECTS; r=nalexander
This was mainly used to support Universal MacOS builds, which were
removed several months ago.

In theory, someone could be using this feature to build multiple
applications with one build system invocation. But given that client.mk
is no longer the preferred interface to the build system and multiple
applications can be built by running `mach build` with different
mozconfigs, I don't think support for this feature is worth keeping.

This commit removes support for MOZ_BUILD_PROJECTS and related
functionality from client.mk. Support for recognizing
MOZ_CURRENT_PROJECT in configure and mozconfig evaluation has also
been removed. This includes support for the ac_add_app_options
mozconfig function.

Good riddance.

MozReview-Commit-ID: 7xI2jYxDFFr

--HG--
extra : rebase_source : 91068f3b8ae32fbcda4defb5d4bb086a04387598
2017-10-27 15:20:34 -07:00
Gregory Szorc
f818d2620e Bug 1411994 - Ignore Unicode errors when logging; r=glandium
LineIO currently attempts to convert bytes to unicode using the
system preferred encoding. This can obviously fail for some byte
sequences.

In many cases, the conversion is happening for purposes of logging.
In these cases, Unicode validation shouldn't be that important to
us.

So, this commit teaches LineIO to accept an argument defining its
Unicode error mode. We also teach relevant users of LineIO doing
logging to switch the default mode from "strict" to "replace" so
invalid Unicode byte sequences can be logged with the Unicode
replacement character.

During review, glandium pointed out that it may make better sense
to defer Unicode decoding to the logging layer instead of in LineIO.
I agree with this idea. But it can be implemented in another bug:
for now we should unbust the build system.

MozReview-Commit-ID: 7miuSDY8Xzv

--HG--
extra : rebase_source : 40d5d97d908d00b410b49d03729a34568e5bfb1a
2017-10-26 15:27:01 -07:00
Makoto Kato
41d5df0bac Bug 1411802 - Fix bustage after updating NDK r15c. r=me
MozReview-Commit-ID: 2kMieFmFWsJ

--HG--
extra : rebase_source : 2bea8a6590cadaeec3bfd807474f41535167b11f
2017-10-29 14:02:09 +09:00
Nathan Froyd
a29f4ac5f8 Bug 1163171 - part 9.1 - attempt to pacify flake8 complaints for real; r=me 2017-10-28 18:58:59 -04:00
Sebastian Hengst
286061948f Bug 1163171 - part 9 - fix flake8 complains in android-ndk.configure. r=me 2017-10-29 00:08:13 +02:00
Nathan Froyd
69423fba9b Bug 1163171 - part 3b - inform clang about the NDK's gcc toolchain; r=glandium
The NDK clang needs to be informed about the existence of a GCC
toolchain, so important programs like the linker can be located.  With
this change, we're starting to use command-line options that are
incompatible with GCC, so we also add a check to inform the user about
the non-support for this configuration.
2017-10-28 17:38:59 -04:00
Nathan Froyd
2c5288d26c Bug 1163171 - part 3a - expose the NDK clang binaries to toolchain configury; r=glandium
Our normal method of locating the compilers in the NDK is to set
--with-toolchain-prefix when compiling for Android.  However, the clang
binaries are in a different location than would otherwise be implied by
--with-toolchain-prefix.  Additionally, we still need to know about
--with-toolchain-prefix because the NDK clang needs to be pointed there
so clang can find important binaries like the linker and because various
other bits of the build system depend on the --with-toolchain-prefix
value as well.

So we need a separate mechanism for communicating the whereabouts of the
NDK clang.  We can't set CC and CXX because doing so would conflict with
the CC and CXX values exported to the js/src/ subconfigure.  But Android
already has an extra_toolchain_flags function that we use for informing
moz.configure about additional flags needed solely for Android, and we
can use a similar trick to communicate the existence of the NDK's clang
to the main C/C++ compiler selection process.
2017-10-28 17:38:59 -04:00
Nathan Froyd
bce27af988 Bug 1163171 - part 2 - switch to using -isystem rather than -idirafter for Android; r=glandium
This command-line flag is a little more evocative and works correctly
with both GCC and clang.
2017-10-28 17:38:59 -04:00
Sebastian Hengst
5c15da1f08 merge mozilla-inbound to mozilla-central. r=merge a=merge
--HG--
rename : testing/talos/tests/__init__.py => testing/talos/talos/unittests/__init__.py
rename : testing/talos/tests/browser_output.ts.txt => testing/talos/talos/unittests/browser_output.ts.txt
rename : testing/talos/tests/browser_output.tsvg.txt => testing/talos/talos/unittests/browser_output.tsvg.txt
rename : testing/talos/tests/profile.tgz => testing/talos/talos/unittests/profile.tgz
rename : testing/talos/tests/ps-Acj.out => testing/talos/talos/unittests/ps-Acj.out
rename : testing/talos/tests/test_talosconfig_browser_config.json => testing/talos/talos/unittests/test_talosconfig_browser_config.json
rename : testing/talos/tests/test_talosconfig_test_config.json => testing/talos/talos/unittests/test_talosconfig_test_config.json
rename : testing/talos/tests/xrestop_output.txt => testing/talos/talos/unittests/xrestop_output.txt
2017-10-27 12:45:34 +03:00
Gregory Szorc
95443edf17 Bug 1412044 - Fix linting failure; r=me
MozReview-Commit-ID: 7ME7ofs3cnv

--HG--
extra : rebase_source : 9167abc29d576ec1b5df1bc62dbc78a589e9bc23
2017-10-26 11:40:19 -07:00
Gregory Szorc
26e6361ee7 Bug 1412044 - Use separate arguments for rustc's -C option; r=ted
We subtly changed from "-C opt=value" to "-Copt=value" in 472232499478
(bug 1411081). This change appears to confuse sccache (which has its
own option parser).

This commit restores the old behavior of using separate arguments
for -C and its value.

MozReview-Commit-ID: JCnAjt1Tdsa

--HG--
extra : rebase_source : 2ad7aaf819c0c941efa2272c91d74ae7e52629e8
2017-10-26 11:26:14 -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
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
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
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
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
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
Sebastian Hengst
aa9035ca52 Backed out changeset 1da1df814ad3 (bug 1352599) 2017-10-12 23:42:00 +02:00
Sebastian Hengst
aaf2517be0 Backed out changeset f88b59de4952 (bug 1352599) 2017-10-12 23:40:36 +02:00
Nick Alexander
bcdb2e2621 Bug 1352599 - Follow-up: Fix Python lint errors. r=Aryx 2017-10-12 20:48:22 +02:00
Nick Alexander
6e98033aa9 Bug 1352599 - Part 2: Add PROGUARD_JAR configure option. r=chmanchester
MozReview-Commit-ID: 9ZHaGfmrjNI

--HG--
extra : rebase_source : 4885fcc538dcb50a99e83e787715a309b480c62e
2017-10-02 15:26:25 -07: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Sebastian Hengst
88e9d5fb24 Backed out changeset 772250315e76 (bug 1390524) for build bustage in test_compile_checks.py: compiler_class() takes exactly 2 arguments (1 given). r=backout on a CLOSED TREE 2017-08-17 21:31:00 +02:00
Nathan Froyd
cd71d2de73 Bug 1390524 - correctly pass extra_toolchain_flags only to the target; 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-17 14:03:20 -04: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
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
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
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
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
Nick Alexander
6e4a13fad8 Bug 1376306 - Bootstrap and upload java_home.tar.xz; bump Java to 1.8. r=dustin,sebastian
MozReview-Commit-ID: 3EOsrOp924f

--HG--
rename : taskcluster/scripts/misc/repackage-jdk-centos.sh => taskcluster/docker/android-gradle-build/bin/repackage-jdk-centos.sh
extra : rebase_source : 308d03828a78036076f6cdb68587be6694ac49ae
2017-07-25 20:43:14 -07:00