Commit Graph

918 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
bb604b0dee Bug 1484473 - Add a cbindgen version check. r=firefox-build-system-reviewers,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D3718

--HG--
extra : moz-landing-system : lando
2018-08-20 15:20:42 +00:00
Dan Mosedale
a39cf8c127 Bug 1484282 - Fix typo in mach bootstrap command recommendation, r=gps
MozReview-Commit-ID: 4qbrbuCfSVr
2018-08-17 19:35:02 -07:00
Emilio Cobos Álvarez
583727a597 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:48:23 +02:00
Cosmin Sabou
a1dcf34f94 Backed out changeset 4b9dcf8f2e6c (bug 1478813) for build bustages because cbindgen is missing. CLOSED TREE 2018-08-17 20:24:06 +03:00
Emilio Cobos Álvarez
1e9ffcebe9 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:02:34 +02:00
Mike Hommey
f50e1c662a Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor
--HG--
extra : source : 5fcbe08fb321a5076f56c380b554c63068efbb00
2018-08-16 16:44:36 +09:00
arthur.iakab
07aa46fd13 Backed out 2 changesets (bug 1479800, bug 1483779)for frequent cgx and arm64 failures
Backed out changeset 5fcbe08fb321 (bug 1483779)
Backed out changeset dccd5299c5ad (bug 1479800)
2018-08-17 09:50:30 +03:00
Mike Hommey
152366b300 Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor 2018-08-17 10:19:52 +09:00
Dan Mosedale
1fc4333268 Bug 1483595 - turn on NodeJS by default in the builds, r=gps, a=RyanVM
MozReview-Commit-ID: AlKuz8BTKM3
2018-08-16 10:54:10 -07:00
Dan Mosedale
f1eec975a7 Bug 1482676 - configure should prefer .mozbuild copy of node
MozReview-Commit-ID: 91F4Z8GljkV
2018-08-13 09:24:56 -07:00
Dan Mosedale
228084f4e7 Bug 1481693 - Teach node.configure to prefer .mozbuild node to PATH, r=gps
MozReview-Commit-ID: 8PDuRECtC4M
2018-08-10 19:57:59 -07:00
Mike Hommey
f4f54e5aeb Bug 1482330 - Upgrade to Android NDK r17b and API level 16 (JB). r=snorp
We're currently using NDK r15c, which is rather old, and happens to come
with a buggy gold linker. Let's use a more recent NDK, with a fixed
linker.

Unfortunately, we're currently at NDK API level 9, which the newer NDK
doesn't provide for x86 anymore. But that corresponds to Gingerbread
(2.3), which we've long stopped supporting. On the SDK side, we already
dropped support of versions before Jelly Bean, so we can do the same on
the NDK side. That corresponds to API level 16. So let's just use that
as a baseline.

Another change in the newer NDK is that the target-name changed from
i386-linux-android to i686-linux-android, so adjust for that in the
android x86 mozconfigs.
2018-08-11 09:47:41 +09:00
Bogdan Tara
347da2ba78 Backed out changeset 003838e8d110 (bug 1482330) for Adnroid build bustages on mozalloc_abort.cpp CLOSED TREE 2018-08-11 03:22:58 +03:00
Mike Hommey
ee95699e6b Bug 1482330 - Upgrade to Android NDK r17b and API level 16 (JB). r=snorp
We're currently using NDK r15c, which is rather old, and happens to come
with a buggy gold linker. Let's use a more recent NDK, with a fixed
linker.

Unfortunately, we're currently at NDK API level 9, which the newer NDK
doesn't provide for x86 anymore. But that corresponds to Gingerbread
(2.3), which we've long stopped supporting. On the SDK side, we already
dropped support of versions before Jelly Bean, so we can do the same on
the NDK side. That corresponds to API level 16. So let's just use that
as a baseline.

Another change in the newer NDK is that the target-name changed from
i386-linux-android to i686-linux-android, so adjust for that in the
android x86 mozconfigs.
2018-08-11 06:50:21 +09:00
Noemi Erli
be6ab34c54 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
extra : rebase_source : 691b5b30b6c3b2ddece605c045ad913e466fdbab
2018-08-10 00:35:58 +03:00
Chris Manchester
584157b2d3 Bug 1450078 - Require rust 1.28 in configure. r=ted,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D2889

--HG--
extra : moz-landing-system : lando
2018-08-09 18:31:35 +00:00
Mike Hommey
6d4eb0a92e Bug 1464170 - Support PGO in clang builds on Linux. r=dmajor
This uses the same code path as for clang-cl builds.
2018-08-10 05:54:11 +09:00
Mike Hommey
a228cc9fbd Bug 1481989 - Don't try to enable libstdc++ compat on Android. r=froydnj
We only enable libstdc++ compat on Android for the host parts, and
in practice, the target part has it not enabled at the moment because
libstdc++ can't be found. But making the clang toolchain capable of
building for x86 changes the deal for Android x86.
2018-08-10 05:53:59 +09:00
Mike Hommey
6d197a0707 Bug 1481719 - Disable profile-instr-out-of-date warnings explicitly rather than allowing all warnings where they appear. r=dmajor 2018-08-09 06:07:33 +09:00
Bogdan Tara
f2cb75b28c Merge inbound to mozilla-central. a=merge 2018-08-03 13:16:27 +03:00
Nathan Froyd
879bf0a2bd Bug 1480553 - part 3 - add mappings for aarch64 in Windows configure paths; r=glandium
We need to add mappings for target.cpu to MSVC's arm64 name for
determining various paths, and we need to add an extra case to
get_vc_paths so the compiler can find all the necessary DLLs.
2018-08-02 21:40:40 -04:00
Tudor-Gabriel Vîjială
ae279dbf60 Bug 1473313 - Part 1: Set up geckoview build config for androidTest coverage runs. r=nalexander
This patch adds JaCoCo as a dependency for the geckoview androidTest configurations, as well as
the `mach android archive-geckoview-coverage-artifacts` command, and the `--enable-java-coverage`
mozconfig flag.

MozReview-Commit-ID: 36jNAzK44g3

--HG--
extra : rebase_source : 9edc37913a3929ad045270c601c77791d122e363
2018-07-24 11:44:24 +01:00
David Major
45083c4934 Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj 2018-08-01 17:59:23 -04:00
Nathan Froyd
29b9211e61 Bug 1478986 - convert rust.configure to use js_option; r=ted.mielczarek
This change is necessary for usefully including rust.configure from JS's
configure.
2018-08-02 08:27:11 -04:00
Andreea Pavel
11f1c09ffe Backed out changeset 7a3882f27aa3 (bug 1341525) for failing win Sa builds on a CLOSED TREE
--HG--
extra : amend_source : dbf7c208749c67b6bb8674eb5ba55c6514f89a2d
2018-08-02 02:26:13 +03:00
David Major
ebe3264f11 Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj 2018-08-01 17:59:23 -04:00
Andreea Pavel
250fd9a027 Backed out changeset 2011dae40293 (bug 1341525) for failing win Sa builds 2018-08-02 01:33:30 +03:00
David Major
622dccd28f Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj
--HG--
extra : rebase_source : 06038cb081f7b2b2789a8b867b03340bf103b05e
2018-08-01 17:59:23 -04:00
Nika Layzell
b8f77dd95d Bug 1479484 - Part 2: Expose endianness from buildconfig, r=froydnj
Summary:
This information is already being detected, and it will allow us to avoid
byteorder swaps in XPT on big-endian systems. This patch allows buildconfig to
detect endianness.

It may make sense in the future to also expose this endianness as a define, so
we can avoid custom detection such as in /mfbt/EndianUtils.h:
https://searchfox.org/mozilla-central/rev/196560b95f191b48ff7cba7c2ba9237bba6b5b6a/mfbt/EndianUtils.h#85-148

Depends On D2614

Reviewers: froydnj!

Tags: #secure-revision

Bug #: 1479484

Differential Revision: https://phabricator.services.mozilla.com/D2615
2018-08-01 17:54:41 -04:00
Mike Shal
ee320f1dec Bug 1475071 - Bump tup version to v0.7.7; r=chmanchester
MozReview-Commit-ID: 55JOVxzWhm4

--HG--
extra : rebase_source : 77e88b33f3513713390c657f9b95d390d31fd0f1
2018-07-31 10:06:27 -04:00
Chris Manchester
eec0d4f871 Bug 1479540 - Accept "triplet" strings with only two parts in moz.configure. r=froydnj
MozReview-Commit-ID: 7pFhoJgBMhQ

--HG--
extra : rebase_source : 99bac7d4780e5282f6f049963965d5f8ef00fe02
2018-07-31 11:58:08 -07:00
Nathan Froyd
18ef37dc2c Bug 1476427 - part 3 - convert bindgen options into js_options; r=chmanchester 2018-07-26 17:37:56 -04:00
Nathan Froyd
85b06ba88f Bug 1476427 - part 2 - whitelist projects that require bindgen; r=chmanchester
JS, at least, doesn't need bindgen at this point.  If JS does start
requiring bindgen under certain build configurations, we'll have to
figure out what to do about the bindgen dependency at that point:
require bindgen always, or just require bindgen for the
configuration(s).
2018-07-26 17:37:56 -04:00
Nathan Froyd
08902bdd4d Bug 1476427 - part 1 - move bindgen configure bits to a separate file; r=chmanchester
This change makes the config variables determined for
bindgen (MOZ_CLANG_PATH et al) available to JS.
2018-07-26 17:37:56 -04:00
Ivan Pozdeev
319f5fcf1d Bug 1323381 - Make 8dot3 error message useful for fixing; r=gps
--HG--
extra : amend_source : 72f43dbe21c9b0af738dccda80dff3b24da8e481
2018-07-23 18:09:15 -07:00
Mike Hommey
efde274619 Bug 1476875 - Change the node.js warning wording not to show up on treeherder as an error. r=froydnj
--HG--
extra : rebase_source : ba7ca29ba0d46094742f8867314f0f142c18b03f
2018-07-19 16:36:36 +09:00
David Major
6b830c8485 Bug 1475660: Make clang-cl PGO enable LTO (enables ThinLTO in official builds) r=froydnj,glandium
--HG--
extra : rebase_source : e4efb8d4bf7994ff51f20f51c6cd1eb45bd8339b
2018-07-16 17:59:49 -04:00
David Major
6043bb48c5 Bug 1448980: Make --enable-lto work with clang-cl. r=froydnj 2018-07-16 12:26:36 -04:00
David Major
1eb86751ab Bug 1448980 prequel: Rename LTO flags to cflags. r=froydnj 2018-07-16 12:25:40 -04:00
Chris Manchester
1ba362234e Bug 1475390 - Fail configure if Tup is specified on a non-linux build. r=gps
MozReview-Commit-ID: FO6wCbI7YwJ

--HG--
extra : rebase_source : 564b7d22deadfcaa6357a7c9ec7514daf5978127
2018-07-13 15:53:27 -07:00
Jacek Caban
041db4695b Bug 1443471 - Use correct rust target for mingw clang. r=glandium
MozReview-Commit-ID: G40IanxGWXv

--HG--
extra : rebase_source : 6d8ba3af796848320cc7e3db05e9c83ba4fecb45
2018-06-25 19:57:43 +02:00
Chris Manchester
04c4288d0d Bug 1472857 - Require rustc 1.27 to build. r=glandium
MozReview-Commit-ID: 5WsP4EQxSil

--HG--
extra : rebase_source : e4506f9c4dfcccdf691fb944270e1a508edc02d5
2018-07-03 15:27:20 -07:00
Mike Hommey
1cf4ac0f2e Bug 1469088 - Relax the assumptions of --enable-lto, and make it work for macOS builds. r=ted
Currently, --enable-lto just implies --enable-linker=lld, which
essentially only works on Linux, and assumes one can't do lto with
anything other than lld. Which is not true. As a matter of fact, even
ld.bfd can do lto, as long as the gold plugin for llvm is available,
or when doing lto with GCC instead of clang.

Anyways, to allow more lto setups, we adapt the --enable-linker setup
to:
- work on macOS, which it currently doesn't, and add support for the mac
  linker (ld64), which, unfortunately, doesn't have a clean way to be
  detected, so work around that.
- default to lld if lto is enable, no linker was explicitly given, the
  compiler is clang *and* the build target is not macOS.

--HG--
extra : rebase_source : 1dab2ad6230d18e7f4285943e76352e23b987d4e
2018-07-05 11:35:31 +09:00
Mike Hommey
c6c6db41d2 Bug 1473436 - Default to lld for local *nix builds when it is available. r=chmanchester
--HG--
extra : rebase_source : 0a1705241dcce807fb16f94218476ed184e551fa
2018-07-05 09:28:49 +09:00
Mike Hommey
da38aeba7d Bug 1457168 - Make configure tests use LINKER_LDFLAGS. r=chmanchester
Because we have no linking configure test in python configure (yet), we
just make old-configure tests use LINKER_LDFLAGS, and make those flags
added to LDFLAGS by old-configure at the same time.

--HG--
extra : rebase_source : 80ab7c5021c7ddd1b53d58ef76cd4372a524d3cb
2018-07-04 16:18:48 +09:00
Nathan Froyd
05c61df014 Bug 1473331 - fix environment issues when checking node version; r=me, a=bustage
MozReview-Commit-ID: SGkfho9nvV
2018-07-04 12:09:41 -04:00
Nathan Froyd
8d0bead1e6 Bug 1471028 - fix check for outdated node versions; r=bustage, a=bustage
MozReview-Commit-ID: 5OlPH2tUACP
2018-07-04 07:46:08 -04:00
Gregory Szorc
1843095b29 Bug 1471028 - Detect Node.js in configure; r=glandium
The intent is for the build system to soon require Node.js to build
Firefox. But we aren't ready to make Node.js a build requirement
just yet.

The goal of this commit is to implement configure detection for
Node.js so that we can a) work out detection bugs b) give people a
means to validate system compatibility *before* we throw the switch to
require Node.js.

This commit introduces configure logic for finding a Node.js
executable, resolving its version, and validating its suitability.

By default, if Node.js cannot be found or there is an error resolving
its version, we print some warning messages and move on.

If --enable-nodejs is used (not the default), errors are raised
if Node.js cannot be found or its version isn't suitable.

Once we require Node.js, the added code can likely be simplified.
When writing the code, I went out of my way to make failures as
non-fatal as possible. e.g. normally we'd say that failures to run
`node --version` would be fatal. I'm purposefully trying to not have
this configure check break anyone's environment, even if failure
occurs. Again, the goal is to introduce the configure checks first
in a non-fatal way such that we can debug failures so the flag day
transition is simpler.

Differential Revision: https://phabricator.services.mozilla.com/D1818

--HG--
extra : moz-landing-system : lando
2018-07-03 21:24:58 +00:00
Mike Hommey
993aa6d00f 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 : a17aa496bf3d4af4d1349d69a637c686c6817d0f
2018-06-26 18:05:23 +09:00
Xidorn Quan
9d13707bca Bug 1471486 part 1 - Detect rustfmt like other rust executables. r=froydnj
MozReview-Commit-ID: 8LMdpdqbrFS

--HG--
extra : rebase_source : e23b7e467993963eb1a69637dacdabb7cbff3e90
2018-06-27 15:27:43 +10:00
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