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

1504 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey fd678c4aa5 Bug 1615511 - Use a host depend instead of a platform module import. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62863

--HG--
extra : moz-landing-system : lando
2020-02-14 12:15:12 +00:00
Mike Hommey fb3ad206c9 Bug 1615511 - Don't use os.pathsep in windows.configure. r=froydnj
While this works on Windows, because os.pathsep is `;`, it actually
doesn't work on non-Windows, because clang-cl is still expecting `;`,
but os.pathsep is `:`.

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

--HG--
extra : moz-landing-system : lando
2020-02-14 21:26:09 +00:00
Coroiu Cristina fc53596ca3 Backed out 2 changesets (bug 1598068) for build bustage at ShowSSEConfig on a CLOSED TREE
Backed out changeset 5fb8d24977eb (bug 1598068)
Backed out changeset eba60d849030 (bug 1598068)
2020-02-14 00:48:07 +02:00
James Willcox 94570d7699 Bug 1598068 - Increase Android targetSdk to 29 r=geckoview-reviewers,aklotz
Differential Revision: https://phabricator.services.mozilla.com/D61013

--HG--
extra : moz-landing-system : lando
2020-02-12 19:10:38 +00:00
Ricky Stewart 6a2ff09153 Bug 1614994 - Fix "ImportError: No module named shutil_which" in configure r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62770

--HG--
extra : moz-landing-system : lando
2020-02-13 18:34:12 +00:00
Nathan Froyd 4bb0df12f2 Bug 1604616 - check for a new enough libstdc++; r=glandium
After a C++ language version bump, It's possible to wind up in
situations where we are using a new enough compiler version, but the
libstdc++ version in use is not new enough to support new language
features: self-compiled clang with system libraries, clang from `mach
bootstrap` prior to C++ language version bump (and thus including a new
libstdc++ with the boostrapped clang), etc.

Previously, such a situation would mean that things would work fine, and
then start breaking as soon as new library features started to be used.
Let's try to catch the problem earlier, when the update happens, by
verifying that the libstdc++ version is at least as new as the GCC
version we're requiring.

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

--HG--
extra : moz-landing-system : lando
2020-02-10 18:51:42 +00:00
Emilio Cobos Álvarez c3cc693c75 Bug 1614198 - Update cbindgen. r=heycam
I need this to support individual #[cfg] in enum variants, which is used for
Image::PaintWorklet.

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

--HG--
extra : moz-landing-system : lando
2020-02-10 03:06:53 +00:00
Michael Forney 477f5c111e Bug 1157850 - Use portable add_dir_entries() implementation when fts.h is missing r=mhowell
fts.h is also missing on musl. Since the Solaris fallback implementation
does not use any non-standard functions, use that as the fallback when
the FTS interface is not available.

Also, fix an issue with the readdir implementation. Previously, the
absolute directory path was passed to the recursive add_dir_entries()
call, which would then prepend install path again.

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

--HG--
extra : moz-landing-system : lando
2020-02-07 05:17:12 +00:00
Sylvestre Ledru 9ee8d05df3 Bug 1613074 - Enable -Wunused-function & -Wunused-variable at the build phase r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D61550

--HG--
extra : moz-landing-system : lando
2020-02-04 14:36:58 +00:00
Emilio Cobos Álvarez 4ba89c93cf Bug 1612092 - Update cbindgen. r=froydnj
v0.12.2 at least is needed to have proper v2 lockfile support.

But v0.13.0 contains extra fixes, and features that wgpu and the style system
plan to use, so let's just update to that.

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

--HG--
extra : moz-landing-system : lando
2020-01-31 08:03:17 +00:00
Ricky Stewart 232331fdb4 Bug 1610944 - configure/test_toolchain_configure.py and configure/test_toolchain_helpers.py support Python 3 r=firefox-build-system-reviewers,mshal CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D60743

--HG--
extra : source : f5b4973be6dac983ff87add5d198f959de2cec78
extra : amend_source : 30b53ec7c0a22138d43d9c7e85c6e43c9dea84b1
2020-01-23 17:15:38 +00:00
Csoregi Natalia c12e02a6be Backed out changeset f5b4973be6da (bug 1610944) for nightly bustages. a=backout 2020-01-24 13:40:32 +02:00
Ricky Stewart e82e92605b Bug 1610944 - configure/test_toolchain_configure.py and configure/test_toolchain_helpers.py support Python 3 r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D60743

--HG--
extra : moz-landing-system : lando
2020-01-23 17:15:38 +00:00
Cosmin Sabou 7b76379364 Backed out changeset 7c2048122a9f (bug 1610944) for causing L10n bustages. 2020-01-23 07:21:28 +02:00
Ricky Stewart 3003ade6dd Bug 1610944 - configure/test_toolchain_configure.py and configure/test_toolchain_helpers.py support Python 3 r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D60743

--HG--
extra : moz-landing-system : lando
2020-01-22 23:46:36 +00:00
Ricky Stewart 42ed117231 Bug 1610774 - put mozfile at the beginning of the user's path if necessary in configure r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D60705

--HG--
extra : moz-landing-system : lando
2020-01-22 18:36:14 +00:00
Ricky Stewart 27d06e3d50 Bug 1608880 - mozbuild/test/configure/test_compile_checks.py and mozbuild/test/configure/test_moz_configure.py support Python 3 r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D59757

--HG--
extra : moz-landing-system : lando
2020-01-21 23:51:28 +00:00
Gabriele Svelto 96a70684f4 Bug 1588538 - Use the new Windows dump_syms tool to dump symbols in local builds r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D57094

--HG--
extra : moz-landing-system : lando
2020-01-16 14:14:13 +00:00
David Major 871109ae17 Bug 1609520 - Fix lint warning after bug 1609422
Differential Revision: https://phabricator.services.mozilla.com/D60059

--HG--
extra : moz-landing-system : lando
2020-01-15 20:46:57 +00:00
David Major 5f443f7001 Bug 1609422 - Clean up an old rustc version check for pgo r=firefox-build-system-reviewers,chmanchester
We require rustc 1.39 nowadays.

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

--HG--
extra : moz-landing-system : lando
2020-01-15 17:14:10 +00:00
Csoregi Natalia 57eb78c63c Backed out changeset 5d0b75e5f795 (bug 1588538) for DUMP_SYMS bustage. CLOSED TREE 2020-01-14 13:53:54 +02:00
Gabriele Svelto e62e144c3c Bug 1588538 - Use the new Windows dump_syms tool to dump symbols in local builds r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D57094

--HG--
extra : moz-landing-system : lando
2020-01-14 10:08:52 +00:00
Emilio Cobos Álvarez 7c6f58b638 Bug 1608729 - Don't warn about multistatement macros with GCC. r=froydnj
It generates a lot of noise and we don't want to fix them. In particular, all
the cycle collector macros are like this.

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

--HG--
extra : moz-landing-system : lando
2020-01-13 14:54:39 +00:00
Ricky Stewart 39e4717ac8 Bug 1607512 - mozbuild/test/configure/test_checks_configure.py supports Python 3 r=ahal,mars
Differential Revision: https://phabricator.services.mozilla.com/D58970

--HG--
extra : moz-landing-system : lando
2020-01-10 21:05:03 +00:00
Ricky Stewart 6a7f736bdb Bug 1607284 - mozbuild/configure/util.py supports Python 3 r=ahal,mars
Differential Revision: https://phabricator.services.mozilla.com/D58834

--HG--
extra : moz-landing-system : lando
2020-01-10 22:09:56 +00:00
Andrew Halberstadt 2fd209f77e Bug 1563797 - Use 'backports.shutil_which' instead of 'which' in configure r=glandium
This gets rid of the last use of the 'which' module left in the tree. So not
only will this help 'configure' become a little more Python 3 compatible, but
we can now remove 'third_party/python/which'.

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

--HG--
extra : moz-landing-system : lando
2020-01-10 21:04:10 +00:00
Coroiu Cristina c9e1368a0f Backed out 5 changesets (bug 1607345, bug 1607284, bug 1607512, bug 1563797, bug 1607503) for flake8 failure at python/mozbuild/mozbuild/configure/__init__.py on a CLOSED TREE
Backed out changeset 8dab339bab78 (bug 1607512)
Backed out changeset 1c5880c1c459 (bug 1607503)
Backed out changeset 42a69c5056b0 (bug 1607345)
Backed out changeset 431cb34ec6b0 (bug 1607284)
Backed out changeset 9837631a9c71 (bug 1563797)
2020-01-10 22:59:13 +02:00
Ricky Stewart 54449c6d0e Bug 1607512 - mozbuild/test/configure/test_checks_configure.py supports Python 3 r=ahal,mars
Differential Revision: https://phabricator.services.mozilla.com/D58970

--HG--
extra : moz-landing-system : lando
2020-01-08 16:14:03 +00:00
Ricky Stewart 39953e00e6 Bug 1607284 - mozbuild/configure/util.py supports Python 3 r=ahal,mars
Differential Revision: https://phabricator.services.mozilla.com/D58834

--HG--
extra : moz-landing-system : lando
2020-01-08 16:17:58 +00:00
Andrew Halberstadt ab88ef1f24 Bug 1563797 - Use 'backports.shutil_which' instead of 'which' in configure r=glandium
This gets rid of the last use of the 'which' module left in the tree. So not
only will this help 'configure' become a little more Python 3 compatible, but
we can now remove 'third_party/python/which'.

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

--HG--
extra : moz-landing-system : lando
2020-01-10 07:09:06 +00:00
Mike Hommey 57f5b8a7bf Bug 1604335 - Enable PHC on early beta. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D58285

--HG--
extra : moz-landing-system : lando
2019-12-27 04:34:33 +00:00
Mike Hommey e4a8d2ba9f Bug 1597834 - Make EARLY_BETA_OR_EARLIER available to python configure. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D58280

--HG--
extra : moz-landing-system : lando
2019-12-27 22:18:32 +00:00
Nicholas Nethercote b692b7c5cf Bug 1599337 - Make PHC nightly-only again. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D56480

--HG--
extra : moz-landing-system : lando
2019-12-10 05:28:58 +00:00
Chris Manchester d068aba2ee Bug 1605110 - Adjust `import-instr-limit` on macOS to match other platforms now that we have pgo. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D58045

--HG--
extra : moz-landing-system : lando
2019-12-20 21:07:42 +00:00
Ricky Stewart 3513bb2f84 Bug 1604881 - fail if user attempts to set CC or CXX with "mk_add_options" in .mozconfig r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D57656

--HG--
extra : moz-landing-system : lando
2019-12-19 21:00:43 +00:00
Nathan Froyd 8058ebbc5b Bug 1604814 - change the OS X SDK headers check to only run on OS X; r=rstewart
The doubling of `when` is needed: the `try_run` when ensures that we
only execute the compiler on OS X, and the `@depends` when ensures that
we don't look at the `None` result (which would normally indicate
failure) on non-OS X hosts.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 21:00:57 +00:00
Chris Manchester 4d12edfd8d Bug 1594538 - Require rustc 1.39 to build. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D57396

--HG--
extra : moz-landing-system : lando
2019-12-17 17:12:21 +00:00
Emilio Cobos Álvarez 1258c314aa Bug 1604160 - Update cbindgen to do proper copy assignment on tagged enums. r=boris
This is needed to support min() / max() / clamp(), as LengthPercentage will have
a potential heap allocation and the current copy-assignment operators just do
bitwise copies.

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

--HG--
extra : moz-landing-system : lando
2019-12-16 13:31:24 +00:00
Tyson Smith f28f9e82c6 Bug 1602845 - Enable 'return' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56626

--HG--
extra : moz-landing-system : lando
2019-12-15 05:13:34 +00:00
Chris Peterson 8fd7f11cb8 Bug 1583717 - Enable clang's -Wempty-init-stmt warnings. r=glandium
-Wempty-init-stmt is a new clang diagnostic that diagnoses empty C++17 init-statements of if, switch, and range-based for statements:

void test() {
  if(; // <- warning: init-statement of 'if' is a null statement
    true)
  ;

  switch (; // <- warning: init-statement of 'switch' is a null statement
    x) {
    ...
  }

  for (; // <- warning: init-statement of 'range-based for' is a null statement
    int y : S())
  ;
}

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

--HG--
extra : moz-landing-system : lando
2019-12-12 02:18:37 +00:00
Māris Fogels 030fc0897c Bug 1590745 - Make the $PYTHON3 build var use a virtualenv r=mshal
Make the $PYTHON3 build var point to a full virtualenv bootstrapped with
the same libraries as the $PYTHON Python 2 build var. This allows us to
upgrade build tasks from $PYTHON to $PYTHON3.

This patch adds some debug logging and documentation to the Python
2 virtualenv so that it is easier to diagnose issues that may arise
from running two different Python interpreters in re-entrant
multiprocess routines.

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

--HG--
extra : moz-landing-system : lando
2019-12-03 18:49:06 +00:00
David Major 08274e0b6d Bug 1603141 - Remove unused option --enable-cross-pgo r=froydnj
Nothing looks at the value of this option. We seem to have settled on the `--enable-profile-{generate,use}=cross` approach instead.

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

--HG--
extra : moz-landing-system : lando
2019-12-11 16:21:04 +00:00
Tom Ritter f85cc45712 Bug 1511073 - Enable stack protector for MinGW build r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D56295

--HG--
extra : moz-landing-system : lando
2019-12-09 17:02:50 +00:00
Tyson Smith 30f2b5474f Bug 1602536 - Enable 'object-size' UBSan check r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56472

--HG--
extra : moz-landing-system : lando
2019-12-09 22:07:12 +00:00
Tom Ritter 0d1c6b5d7e Bug 1601701 - Add -lssp to the mingw-clang for FORTIFY_SOURCE support r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D56000

--HG--
extra : moz-landing-system : lando
2019-12-07 03:35:34 +00:00
Ricky Stewart 9c9c545557 Bug 1601064 - In ./mach configure, infer the location of the bootstrapped lucetc/wasi-sysroot r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55734

--HG--
extra : moz-landing-system : lando
2019-12-09 14:54:16 +00:00
David Major b7af94f1d0 Bug 1602355 - Fix GCC LTO build break r=froydnj
GCC doesn't understand the `import-instr-limit` option.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 14:52:28 +00:00
Emilio Cobos Álvarez 85599f3f1b Bug 1602317 - Update cbindgen to 0.11.1. r=jrmuizel
This includes more bitflag operators, which means we can remove some slightly
ugly code.

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

--HG--
extra : moz-landing-system : lando
2019-12-09 03:20:53 +00:00
Mike Shal 25308d30a2 Bug 1563403 - Use 3-tier PGO for local MOZ_PGO=1 builds; r=firefox-build-system-reviewers,dmajor,chmanchester
Local PGO builds now use 3-tier machinery under the hood. Instead of a
single object directory that gets cleaned in between the instrumented
and profile-use builds, now the instrumented build uses a separate
'${objdir}/instrumented' directory. This makes it easier to handle
within mach since we can drive the two builds with environment variables
and keep all build artifacts separate, without needing to do manual
cleanup in between.

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

--HG--
extra : moz-landing-system : lando
2019-12-06 01:07:32 +00:00
Mike Shal 554a8c6462 Bug 1563403 - disable LTO on --enable-profile-generate; r=firefox-build-system-reviewers,chmanchester
In automation this is normally handled by mozconfigs, but we should
disable it automatically during the profile-generate stage for users if
they have LTO enabled in their mozconfig while doing a 3-tier PGO build.

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

--HG--
extra : moz-landing-system : lando
2019-12-06 01:03:25 +00:00
Chris Manchester 5a33be02e2 Bug 1595218 - Update rust target detection for rustc 1.39. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D53901

--HG--
extra : moz-landing-system : lando
2019-12-05 04:53:11 +00:00
Razvan Maries c9cf973dbf Backed out 3 changesets (bug 1595218) for build bustages. CLOSED TREE
Backed out changeset 499b0c27da4f (bug 1595218)
Backed out changeset f2f230a3028d (bug 1595218)
Backed out changeset 93ec75efbf41 (bug 1595218)
2019-12-05 02:53:04 +02:00
Chris Manchester a85167cf6b Bug 1595218 - Update rust target detection for rustc 1.39. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D53901

--HG--
extra : moz-landing-system : lando
2019-12-04 23:37:16 +00:00
Emilio Cobos Álvarez 9e32088488 Bug 1600454 - Fix build with --disable-update-channel. r=glandium
Depends on D55363

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

--HG--
extra : moz-landing-system : lando
2019-12-04 08:48:17 +00:00
Gurzau Raul 87ac4a3719 Backed out 3 changesets (bug 1595218) for Windows wrench failures.
Backed out changeset 9fdeeb697611 (bug 1595218)
Backed out changeset d7f9a4045360 (bug 1595218)
Backed out changeset 30bb03117312 (bug 1595218)
2019-12-04 05:49:06 +02:00
Ricky Stewart 7e35d31d8c Bug 1598642 - Fix error message when rustc/cargo are not installed r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55738

--HG--
extra : moz-landing-system : lando
2019-12-03 22:39:17 +00:00
Chris Manchester be8da63e8e Bug 1595218 - Update rust target detection for rustc 1.39. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D53901

--HG--
extra : moz-landing-system : lando
2019-12-03 21:51:47 +00:00
Nathan Froyd f47aaef62d Bug 1560664 - default to C++17 with optional gnu extensions; r=rstewart
This change does not fully enable C++17, as we still need standard
library support from some platforms.

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

--HG--
extra : moz-landing-system : lando
2019-12-03 06:50:13 +00:00
Sebastian Hengst 4d554f0a10 Backed out changeset 3034ec8681ac (bug 1590745) for breaking local macOS 10.15 builds (bug 1600720). a=backout 2019-12-03 19:06:29 +01:00
shindli 4562fd4c3b Backed out 3 changesets (bug 1595218) for causing wrench bustages on central CLOSED TREE a=backout
Backed out changeset 1808b1722f64 (bug 1595218)
Backed out changeset 46fe2af291cf (bug 1595218)
Backed out changeset 11c0576cf3d5 (bug 1595218)
2019-12-03 13:17:59 +02:00
Chris Manchester 9eb1bdb17b Bug 1595218 - Update rust target detection for rustc 1.39. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D53901

--HG--
extra : moz-landing-system : lando
2019-11-22 00:02:18 +00:00
Mihai Alexandru Michis d12cf9f2ad Backed out changeset 9dea219937cd (bug 1560664) for causing valgrid bustages. CLOSED TREE
--HG--
extra : rebase_source : 60fba62a9241bec3aadc84260c2b9dacb89cf1ff
2019-12-02 16:59:55 +02:00
Nathan Froyd 945c7515d6 Bug 1560664 - default to C++17 with optional gnu extensions; r=rstewart
This change does not fully enable C++17, as we still need standard
library support from some platforms.

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

--HG--
extra : moz-landing-system : lando
2019-11-26 21:19:53 +00:00
Nicholas Nethercote 3d06e16862 Bug 1599928 - Fix a tier-2 Python linting failure. r=erahm
It's complaining about `milestone` not being used.

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

--HG--
extra : moz-landing-system : lando
2019-11-28 03:39:45 +00:00
Nicholas Nethercote 4f86a0f7ca Bug 1594595 - Enable PHC on early beta 72 builds. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D54665

--HG--
extra : moz-landing-system : lando
2019-11-27 22:46:33 +00:00
Māris Fogels 75d85af992 Bug 1590745 - Make the $PYTHON3 build var use a virtualenv r=mshal
Make the $PYTHON3 build var point to a full virtualenv bootstrapped with
the same libraries as the $PYTHON Python 2 build var. This allows us to
upgrade build tasks from $PYTHON to $PYTHON3.

This patch adds some debug logging and documentation to the Python
2 virtualenv so that it is easier to diagnose issues that may arise
from running two different Python interpreters in re-entrant
multiprocess routines.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 20:23:03 +00:00
Nathan Froyd 72b0fe8ee6 Bug 1536848 - raise the minimum gcc version to 7; r=dmajor
We need this for full C++17 support.

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

--HG--
extra : moz-landing-system : lando
2019-11-21 20:53:27 +00:00
Māris Fogels 1d657c8499 Bug 1448349 - Warn about autoconf $PATH problems on win32 r=firefox-build-system-reviewers,chmanchester
Detect if Unix utilities on win32 are being picked up from a foreign
installation of MinGW, such as the tools packaged with Git for Windows.
If autoconf dies during `./mach configure` and foreign tools are found
in $PATH then warn the user that their $PATH may need to change to fix
the problem.

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

--HG--
extra : moz-landing-system : lando
2019-11-21 00:20:56 +00:00
Ciure Andrei 66ae07e2a9 Backed out changeset 7dcc2fa474a8 (bug 1448349) for causing win2012 bustages CLOSED TREE 2019-11-20 03:39:39 +02:00
Māris Fogels 3d8ceef7af Bug 1448349 - Warn about autoconf $PATH problems on win32 r=firefox-build-system-reviewers,chmanchester
Detect if Unix utilities on win32 are being picked up from a foreign
installation of MinGW, such as the tools packaged with Git for Windows.
If autoconf dies during `./mach configure` and foreign tools are found
in $PATH then warn the user that their $PATH may need to change to fix
the problem.

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

--HG--
extra : moz-landing-system : lando
2019-11-19 20:49:43 +00:00
Razvan Maries 5af92f5f8a Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-11-15 00:41:27 +02:00
Razvan Maries 4e42de3ec8 Merge mozilla-inbound to mozilla-central a=merge 2019-11-14 23:49:26 +02:00
Ricky Stewart 08c0c80063 Bug 1594552 - Add moz.configure bits to specify a compiler for converting C/C++ to wasm r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D52111

--HG--
extra : moz-landing-system : lando
2019-11-14 16:26:24 +00:00
Nathan Froyd d3483bdef5 Bug 1579189 - raise the minimum clang version to 5; r=#build
We need this for "full" C++17 support (everything is supported, but some
C++17 features still have bugs) and this change also brings Linux into
parity with our Mac requirements.

MANUAL PUSH: build toolchains on inbound to avoid clogging autoland

Differential Revision: https://phabricator.services.mozilla.com/D51450
2019-11-14 11:16:38 -04:00
Makoto Kato 0327aea5ca Bug 1564097 - Set HOST_LINKER when host OS is Windows too. r=glandium
When running Cargo on Windows, `HOST_LINKER` is required by
`cargo-host-linker.bat`. So we should use windows.configure to set HOST_LINKER
when host OS is Windows and target OS isn't Windows.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 11:48:25 +00:00
Tyson Smith ee4b443ded Bug 1595633 - Enable 'pointer-overflow' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52608

--HG--
extra : moz-landing-system : lando
2019-11-12 16:29:37 +00:00
Ricky Stewart 6b46a4c52e Bug 1593502 - Build system does not add -isysroot to the command-line flags for compiler invocations when the provided_compiler has additional flags r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D52414

--HG--
extra : moz-landing-system : lando
2019-11-12 00:28:17 +00:00
Ricky Stewart 7a000bc5ca Bug 1595906 - Allow opting out of hardening compile flags on a granular basis r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52756

--HG--
extra : moz-landing-system : lando
2019-11-14 17:13:28 +00:00
Tyson Smith 5b02d71498 Bug 1594839 - Enable 'integer-divide-by-zero' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52218

--HG--
extra : moz-landing-system : lando
2019-11-08 18:54:51 +00:00
Māris Fogels 8042b2dfd3 Bug 1594955 - Restore autoconf subprocess environ in old.configure r=glandium
Restore the env= argument to the subprocess.Popen() call that runs
autoconf in old.configure.  The argument appears to have been removed by
accident in changeset f47e966507eb.

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

--HG--
extra : moz-landing-system : lando
2019-11-08 02:16:05 +00:00
David Major 896094e44a Bug 1592981 - Use -import-instr-limit to mitigate size growth from ThinLTO r=froydnj
When we first enabled ThinLTO on our builds, we got great performance gains, but also large size increases due to aggressive inlining. There is an LLVM option called -import-instr-limit that limits the size of functions that may be imported (the threshold is subject to modification by PGO). Chromium found a good balance between speed and performance by using a value of 10. In initial testing, on Windows and Linux that value can save us many megabytes from libxul without noticeable speed regressions. For Mac, which doesn't yet have PGO, we have to use a higher limit to avoid over-restricting the optimizer which caused slowdowns on my try pushes.

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

--HG--
extra : moz-landing-system : lando
2019-11-04 15:58:54 +00:00
Ricky Stewart d5351b1c6b Bug 1589792 - Remove --disable-xcode-checks r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D51171

--HG--
extra : moz-landing-system : lando
2019-10-30 20:46:09 +00:00
Christian Holler 4c144ccda1 Bug 1592250 - Disable libFuzzer instrumentation in TSan builds. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D50922

--HG--
extra : moz-landing-system : lando
2019-10-29 14:03:40 +00:00
Chris Manchester 870590b5fe Bug 1589783 - Require sccache 0.2.12 when used to build. r=nalexander
Depends on D49801

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

--HG--
extra : moz-landing-system : lando
2019-10-22 16:41:02 +00:00
Cosmin Sabou b9bc1ef9d6 Backed out 2 changesets (bug 1476339, bug 1590714) for breaking windows coverage builds and at marco's request.
Backed out changeset 0a3621d900c8 (bug 1590714)
Backed out changeset db0e1ce31ac3 (bug 1476339)

--HG--
extra : rebase_source : 2421340b6220f0858ee449a1f5bc26bf3316943b
2019-10-23 23:10:17 +03:00
Marco Castelluccio 2b99ab19ea Bug 1590714 - Remove unused 'mozbuild_state_path'. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D50203

--HG--
extra : moz-landing-system : lando
2019-10-23 19:37:41 +00:00
Marco Castelluccio 04a3124744 Bug 1476339 - Set coverage LDFLAGS as part of configure. r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D49830

--HG--
extra : moz-landing-system : lando
2019-10-22 22:55:45 +00:00
Dorel Luca cf3d2dccbb Backed out changeset 098dacd3fabe (bug 1476339) for Linting failure in mozbuild/mozbuild/frontend/context.py. CLOSED TREE
--HG--
extra : amend_source : a805d5f03e8127b4248a5f95943e1f33f3b92608
2019-10-23 01:26:46 +03:00
Marco Castelluccio cfdcf5a828 Bug 1476339 - Set coverage LDFLAGS as part of configure. r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D49830

--HG--
extra : moz-landing-system : lando
2019-10-22 21:00:34 +00:00
Chris Manchester e69835925b Bug 1587913 - Fix rust target detection for rustc 1.38. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D48996

--HG--
extra : moz-landing-system : lando
2019-10-16 22:16:13 +00:00
Nathan Froyd 186048921c Bug 1580898 - move warnings-as-errors logic into warnings.configure; r=nalexander
It's nicer to have everything in one place, and because we support
clang-cl, we can have a single definition for the error flag too.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 21:30:38 +00:00
Nathan Froyd 2b7fcaf969 Bug 1551726 - remove --enable-content-sandbox from old configure options; r=dmajor
The option was removed entirely several months ago, and this bit was missed.

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

--HG--
extra : moz-landing-system : lando
2019-09-18 15:29:30 +00:00
Mike Shal ec7a8745f1 Bug 1580497 - Fix topobjdir in 1-tier PGO builds; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D45707

--HG--
extra : moz-landing-system : lando
2019-09-12 19:30:17 +00:00
Nathan Froyd 020191bdfa Bug 1580931 - remove libc++ gcc 4.9 workarounds from toolchain.configure; r=nalexander
Getting rid of unneeded code and having fewer global defines are both
worthy things.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 20:01:18 +00:00
Nathan Froyd a66584728f Bug 1579523 - fix visibility definition for future NDKs on Android; r=nalexander
A previous patch defined `_LIBCPP_HIDE_FROM_ABI` to the empty string.
This definition worked for normal (opt/debug) builds, but
PGO-instrumented builds fell over with some linker errors.  A closer
look at the definition of `_LIBCPP_HIDE_FROM_ABI`:

```
#ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU
#  ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 0
#  else
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 1
#  endif
#endif

#ifndef _LIBCPP_HIDE_FROM_ABI
#  if _LIBCPP_HIDE_FROM_ABI_PER_TU
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_INTERNAL_LINKAGE
#  else
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#  endif
#endif
```

says that there are two macros involved there: one to set hidden visibility
(which we don't want), and another to exclude the function definition
from explicit instantiation.  The semantics of this are not obvious (the
clang documentation only documents this attribute in terms of C++
templates; the particular case we're interested in sets the attribute on
normal function definitions).  But roughly, what this does is that it
forces the compiler to see that an equivalent function definition is
provided external to the compilation unit, so it doesn't have to keep
the annotated function definition around.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 15:13:36 +00:00
Mike Shal 3b8df1c395 Bug 1580028 - Always merge PGO profile data in the run task; r=firefox-build-system-reviewers,chmanchester
If the run task generates bad profile data, the merge step in the
profile-use task will fail. However, retrying the profile-use task
doesn't fix the problem, and there isn't a straightforward way to retry
the run task in this situation. Instead we can add a clang toolchain to
all the run tasks, and perform the merge there.

This means the output from the run task will always be a successfully
merged file called 'merged.profdata', and we no longer need to perform
the merge as part of the profile-use build as a GENERATED_FILES step.

Depends on D45262

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

--HG--
extra : moz-landing-system : lando
2019-09-10 21:56:15 +00:00
Mike Shal 93f80b9e53 Bug 1580028 - Move pgo_flags to later in lto-pgo.configure; r=firefox-build-system-reviewers,chmanchester
This is needed in the following patch, but the diff is more clear with
this split out.

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

--HG--
extra : moz-landing-system : lando
2019-09-10 02:41:06 +00:00
Nathan Froyd 18e78c6b0d Bug 1578825 - add a strict version check for the NDK version; r=nalexander
One less thing for configurations to vary is a good thing.  This change
also means that when we do NDK bumps that introduce some kind of weird
incompatible change, configuration with a newly-pulled tree and an old
NDK halts at configure, rather than giving weird build errors.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 19:20:39 +00:00
Sylvestre Ledru 931b1e9554 Bug 1579054 - Improve the --enable-clang-plugin description r=andi
Differential Revision: https://phabricator.services.mozilla.com/D44820

--HG--
extra : moz-landing-system : lando
2019-09-05 12:21:38 +00:00
Chris Manchester 0bb09fc35d Bug 1578596 - Require rustc 1.37. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D44699

--HG--
extra : moz-landing-system : lando
2019-09-04 19:08:28 +00:00
Nathan Froyd ebeb43d427 Bug 1578478 - update disabling visibility on Android for newer libc++; r=nalexander
We define some libc++-internal macros to avoid conflicts between the way
we do symbol visibility and the way libc++ expects visibility to work.
Newer NDK versions use a newer libc++ which changes the way the macro we
were using works. To enable building with newer libc++ versions, let's
also define macros appropriate to those versions as well.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 17:56:49 +00:00
Nathan Froyd f29b892aa0 Bug 1578471 - consolidate NDK version detection; r=nalexander
We have an `ndk_version_major` and an `ndk_version_minor` that have a
lot of duplicated code in them.  We could factor them into a single
function, but it seems better to just pull their logic into `ndk_version`
directly, rearranging that function to be IMHO more understandable.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 17:17:31 +00:00
Emilio Cobos Álvarez 4cedbb4380 Bug 1577749 - Fix check_sccache_version when using RUSTC_WRAPPER. r=jwatt a=Aryx
Differential Revision: https://phabricator.services.mozilla.com/D44139

--HG--
extra : source : cd8cfdc6b5b3d0ce775afda2bb3c443451baa20f
extra : histedit_source : c048c74d4a7f8cdf3d245c1ad0e4a875c7e0b1a7
2019-08-30 12:22:12 +00:00
Chris Manchester 3712f28127 Bug 1577351 - Require a recent version of sccache when it is in use. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D43861

--HG--
extra : moz-landing-system : lando
2019-08-29 17:45:23 +00:00
Andrew Halberstadt 80160f742f Bug 1473498 - [configure] Fix ImportError in util.configure under Python 3, r=glandium
This import is actually unused as of bug 844509.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 02:55:18 +00:00
Emilio Cobos Álvarez c17fdaaa27 Bug 1576703 - Update cbindgen. r=boris
This cleans up the pattern of "Use a private dtor so that the helper functions
do the right thing" by enabling it everywhere using:

  https://github.com/eqrion/cbindgen/pull/377

It also caught some uninitialized value issues.

I think they're mostly harmless since we zero-initialize our structs:

https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/servo/components/style/properties/gecko.mako.rs#632

And since we override the clip rect, which is the other bit of code that was
failing to build with this change.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 23:18:46 +00:00
Mike Hommey 46c7dfffb5 Bug 1575804 - Don't decode the result from get_cmd_output. r=chmanchester
Also don't pass universal_newlines to check_cmd_output. That was added
to make python 3 happier when check_cmd_output still returned bytes, to
hint subprocess to return a unicode string, but now that
check_cmd_output does the decoding, that's not needed anymore.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 22:05:51 +00:00
Nicholas Nethercote adb9edf389 Bug 1574388 - Implement PHC on Mac. r=gsvelto,glandium
But it is not yet enabled; bug 1576515 will do that.

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

--HG--
extra : moz-landing-system : lando
2019-08-25 23:16:05 +00:00
Nathan Froyd 1c00fec375 Bug 1573820 - default to bfd ld for x86-64 Android; r=nalexander
This change looks a lot more complicated than it actually is.

The motivating issue is that on x86-64 android, the NDK uses gold as its
default linker, and on this platform gold has some bugs in how it handles
`.note.*` sections that lead to `strip` and `objcopy` produce invalid
binaries...or at least invalid binaries according to `elfhack`.  When
`elfhack` complains, the build stops, which is suboptimal.  Instead, let's
use bfd `ld`, which doesn't have these problems.

Except that when we make the change to provide `--enable-linker` with a
platform-specific default, the lint configure tests complain that the
provided help string is not using the proper format.  So we tack on the
sekret `{|}` string to satisfy the linter.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 19:26:22 +00:00
Bogdan Tara b5b30d8b87 Backed out changeset cace4ffbecb2 (bug 1576030) requested by glandium 2019-08-23 11:36:03 +03:00
Mike Hommey a1ebadbc30 Bug 1576030 - Allow to forcefully enable cargo incremental. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D43189

--HG--
extra : moz-landing-system : lando
2019-08-23 03:11:35 +00:00
Mike Hommey 3e303cdeb9 Bug 1576030 - Disable cargo incremental when using sccache. r=nalexander
For some reason, cargo incremental doesn't work as well as it should,
and doesn't perform as well as sccache does. So when building with
sccache, disable cargo incremental. This brought a no-change clobber
build with 100% cache from 3:50 to 2:05 on a beefy AWS instance I was
testing this with.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 04:50:55 +00:00
Mike Hommey 32044bbc45 Bug 1575804 - Don't decode the result from check_cmd_output. r=froydnj
Bug 1575135 changed check_cmd_output to return unicode strings, but a
couple places were already trying to do their own decoding, which now
can fail. Remove those.

Interesting the decoding was previously broken on Windows, this
actually fixes it (the output of hg config is not actually utf-8 on
Windows).

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

--HG--
extra : moz-landing-system : lando
2019-08-22 17:02:39 +00:00
Mike Hommey 250c3cbc9a Bug 844509 - Don't encode environment in get_cmd_output and old_configure. r=nalexander
The configure sandbox has wrapped subprocess methods to add its own
encoded environment if none is provided, since bug 1520394. It only
makes sense that it normalizes the environment that comes in too,
avoiding caller in the configure sandbox to have to do it themselves.

OTOH, and while we're here, none of get_cmd_output, old_configure or the
sandbox were actually using the right encoding for this conversion, so
fix the configure sandbox to use the right one, and make it stop using
encode(), which does deep recursion that is not necessary here, and that
I'm trying to remove entirely.

Also while here, remove an unused import of encode().

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

--HG--
extra : moz-landing-system : lando
2019-08-20 22:12:23 +00:00
Mike Hommey 2efacbae3d Bug 1560700 - Remove now unused allow_unknown argument to split_triplet. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D41482

--HG--
extra : moz-landing-system : lando
2019-08-13 22:30:38 +00:00
Mike Hommey b444ca8929 Bug 1560700 - Change how the rust target is derived from the build system target. r=froydnj
There are a few problems with the strategy currently used to find the
rust target. For example, we don't find a target for arm freebsd, and we
pick the wrong target for armel linux. Both are related to how things
currently work when multiple targets have the same (cpu, endianness,
os).

So, to derive the rust target, we now use a more fine-grained approach.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 23:22:24 +00:00
David Major cd1c868537 Bug 1573501 - Disable -Wtautological-type-limit-compare r=froydnj
This warning, new in clang 9, is noisy about patterns like:

```
unsigned long x = ...
if (x > 4294967295)
```

The condition is always false on 32-bit and LLP64 systems, but on LP64 it's a valid test.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 15:32:26 +00:00
Chris Peterson 41241f3418 Bug 1514965 - Part 2: Enable clang -ftrivial-auto-var-init to initialize local variables with 0xAA in debug builds. r=froydnj
Disable -ftrivial-auto-var-init for DllBLocklistWin.cpp with clang-cl because the file's interceptions happen so early in the main process that the loader hasn't yet resolved the import of memset (used by -ftrivial-auto-var-init) from vcruntime140.dll.

Disable -ftrivial-auto-var-init on Linux32 because it causes some xpcshell test failures.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 07:08:29 +00:00
Chris Peterson 539da64637 Bug 1514965 - Part 1: Refactor mingw_clang checks for reuse. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27358

--HG--
extra : moz-landing-system : lando
2019-08-21 07:08:04 +00:00
Cameron Kaiser efe5f0901c Bug 1571613 - basic support for Power ISA SIMD detection (v2). r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D42592

--HG--
extra : moz-landing-system : lando
2019-08-21 03:36:55 +00:00
Mike Hommey e0be5605ec Bug 1575135 - Return an unicode path for nodejs. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42606

--HG--
extra : moz-landing-system : lando
2019-08-20 21:24:35 +00:00
Mike Hommey 00256d3837 Bug 1575135 - Make configure sandbox open() look more like python 3's. r=nalexander
As a consequence, we can replace the encoded_open function that did the
same in an opt-in manner.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 04:44:43 +00:00
Mike Hommey 16c5b7db29 Bug 1575135 - Change get_cmd_output to emit unicode strings. r=nalexander
Because most calling places in python configure don't actually want to
deal with encodings, although in practical terms they should, make
get_cmd_output handle it itself.

Places that explicitly do want bytes can keep using subprocess directly.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 16:43:15 +00:00
Mike Hommey cce0006157 Bug 1575135 - Use functions from util.configure instead of subprocess.*. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42603

--HG--
extra : moz-landing-system : lando
2019-08-20 16:42:16 +00:00
Mike Hommey cc52fc2e1a Bug 1575135 - Define whether the system encoding is mbcs or utf-8 once. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42601

--HG--
extra : moz-landing-system : lando
2019-08-20 16:40:24 +00:00
Mike Hommey 76e02a9e5d Bug 1575135 - Remove unused subprocess imports. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42600

--HG--
extra : moz-landing-system : lando
2019-08-20 16:39:30 +00:00
Mike Hommey 2e9307d967 Bug 1574761 - Avoid race condition creating old-configure. r=nalexander
This is not something that happens under normal circumstances, but it
can happen when you go fancy and run multiple configures in parallel
with different objdirs, and old-configure doesn't exist in the first
place ; then one configure may overwrite old-configure while another is
starting to execute it, resulting in the latter nor executing
old-configure completely.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 23:21:27 +00:00
Nathan Froyd 08b51223a9 Bug 1560666 - turn off C++17 aligned allocation support; r=glandium
Just like C++14 sized deallocation support, we don't want to support
this.  We shouldn't be using `new` on over-aligned types anyway.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 01:37:34 +00:00
Nathan Froyd 9fc6f1be89 Bug 1573601 - remove tabs in toolchain.configure; r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D41800

--HG--
extra : moz-landing-system : lando
2019-08-13 18:12:54 +00:00
Nathan Froyd 3608ab49b8 Bug 1572216 - move LTO defaulting into mozconfig.win-common; r=glandium
Some recent changes to how we set cross-language LTO for Windows
resulted in compilation-time decreases and small performance regressions
on a few benchmarks.  The changes intended to remove explicit enablement
of cross-language LTO for all builds, but rely on shippable builds being
built with PGO and moz.configure's clever defaulting of cross-language
LTO for PGO'd builds on Windows, which would then enable cross-language
LTO for only shippable builds.

Obviously something went wrong with those changes.

The problem was our defaulting wasn't visible to moz.configure's logic
for how to pass command-line options to the JS subconfigure.  We set the
value (`cross`) after the value for `--enable-lto` has been determined,
and the default value is off (that is, `--disable-lto`).  Since
moz.configure is very thorough in passing configure options down into
JS, it dutifully looked at what the default value of `--enable-lto` was
supposed to be, and passed `--disable-lto` to JS's configure.

There's some evidence that we knew our defaulting was a little sketchy:
we'd only attempt cross-language LTO when we were performing the PGO use
phase, and only if the value of `--enable-lto` wasn't explicitly passed.
Which was a fine idea--you don't want to override what the user was
trying to do--but in the case of JS backfired on us: the value *was*
coming from the explicitly-passed command-line option of
`--disable-lto`.  So JS didn't enable any kind of LTO, with attendant
consequences.

This problem *didn't* happen before the aforementioned change because we
were explicitly specifying that `--enable-lto=cross` should be passed in
the mozconfig, which ensured that the correct setting was passed into
JS.  We were just setting `--enable-lto=cross` for *all* builds, which
was less than desirable.

The easiest way to fix all this is simply to put the
`--enable-lto=cross` setting in the Windows mozconfigs, conditional on
`MOZ_PGO_PROFILE_USE`.  That placement captures the intent of the
previous attempt at defaulting, but without the troubles described
above: the option explicitly appears on the command line, and
moz.configure will correctly pass it through to the JS subconfigure.
This also makes our Windows configuration closer to our Linux
configuration (the Linux configuration enables cross-language LTO for
both PGO phases, which is arguably a bug).

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

--HG--
extra : moz-landing-system : lando
2019-08-09 13:22:08 +00:00
Justin Wood 605aa0fa02 Bug 1473498 - More support for py3. r=firefox-build-system-reviewers,mshal
This patch makes BuildEnvironmentNotFoundException a subclass of AttributeError as well, because hasattr in
python3 no longer catches all tracebacks but only AttributeError, and we use both hasattr and
BuildEnvironmentNotFoundException to guard against a handful of buildconfig variables in a few places
where it is OK to not have a buildenvironment.

We also use universal_newlines in real_host in init.configure (since I found
that fix while working on the AttributeError one) so that we get the right string type back from the process call

Lastly this patch also uses BytesIO for calling into a ReducedConfigureSandbox as its stdout and stderr pipes,
This ensures that related code handling the sandbox doesn't complain about getbuffer() missing in StringIO in py3.

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

--HG--
extra : moz-landing-system : lando
2019-08-06 21:26:54 +00:00
Nicholas Nethercote 28a0265183 Bug 1569864 - Enable PHC on Win64 Nightly builds. r=glandium
Depends on D39841

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

--HG--
extra : moz-landing-system : lando
2019-08-03 00:20:09 +00:00
Nathan Froyd 909e9c6f30 Bug 1568450 - explicitly specify a cpu for LTO linking on Windows; r=dmajor
By default, the linker chooses a "generic" 32-bit CPU to optimize for,
and LLVM's "generic" 32-bit CPU model doesn't include some features that
are helpful for performance on microbenchmarks.  We explicitly specify a
CPU model to ensure the model we want is selected.

On x86-64, we explicitly force a generically good processor model, even
though the automatically selected one didn't seem to hurt benchmarks.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:43:52 +00:00
Nathan Froyd 8118763f6a Bug 1569709 - add --enable-profile-{generate,use}=cross option; r=mshal
This change gives us the ability to selectively turn on cross-language
PGO, just like we have the ability to selectively turn on cross-language LTO.

There is room for things to go wrong here: it's not guaranteed that
`--enable-profile-generate=cross` will always be used with
`--enable-profile-use=cross`.  Nothing bad will happen in the sense that
the build will succeed, but it's possible that we miss out on
optimizations on the Rust side.  Either we fail to generate profile data
for the Rust code, or the Rust compiler fails to use the profile data.

In the future, we may want to default to cross-language PGO to avoid
these kind of mismatches.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 00:57:46 +00:00
Nathan Froyd f51898d9da Bug 1568026 - move LTO/PGO configure bits to a new file; r=dmajor
To do properly checks on LLVM version correspondence between `clang` and
`rustc`, we need information about both of those compilers to be
available.  The current placement of the LTO/PGO checks is after we know
something about `clang`, but before we know something about `rustc`.
Therefore we need to move those checks after we've gathered information
about `rustc`.

The PGO bits come along for this bug because the LTO bits depend on
them, and we're going to need the Rust information for cross-language
PGO checks in a different bug.  So we might as well move everything all
at once.

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

--HG--
rename : build/moz.configure/toolchain.configure => build/moz.configure/lto-pgo.configure
extra : moz-landing-system : lando
2019-07-30 16:38:39 +00:00
Nathan Froyd 748c1f7ff0 Bug 1568026 - parse the LLVM version from rustc's version output; r=dmajor
This change will eventually enable us to cross-check `rustc`'s version
with `clang`'s version when doing cross-language LTO/PGO and avoid
people running into peculiar errors at link time.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 20:45:34 +00:00
Makoto Kato 44c1524bcd Bug 1568455 - Detect Android NDK on Windows. r=nalexander
Toolchain path for Windows version is `<NDK ROOT>/toolchains/llvm/prebuilt/windows-x86_64` etc, so it isn't '`winnt`.
So we has to replace `host.kernel.lower()` with `windows`.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 15:54:07 +00:00
Nathan Froyd 23b65ca007 Bug 1563204 - diagnose issues on Mac with cross-language LTO early; r=dmajor
...rather than people running into peculiar crashes running their tests
because functions are pointing at the wrong thing.

It would be more robust to version-check `ld`, but I figure people
wanting to do local cross-language LTO builds is rare enough that
setting an environment variable and rerunning configure is not a huge
hardship.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 14:26:51 +00:00
Andreea Pavel 08dfeb92cf Backed out changeset b80d14f72e5b (bug 1563204) build bustges on a CLOSED TREE 2019-07-25 17:13:14 +03:00
Nathan Froyd 6112863ed7 Bug 1563204 - diagnose issues on Mac with cross-language LTO early; r=dmajor
...rather than people running into peculiar crashes running their tests
because functions are pointing at the wrong thing.

It would be more robust to version-check `ld`, but I figure people
wanting to do local cross-language LTO builds is rare enough that
setting an environment variable and rerunning configure is not a huge
hardship.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 13:16:59 +00:00
Makoto Kato f8907645db Bug 1568452 - Move ANDROID and ANDROID_PLATFORM to moz.configure r=froydnj
ANDROID_SOURCE is for gonk, so it is unnecessary now.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 13:41:20 +00:00
Mike Shal 98ffc560c9 Bug 1561146 - Enable PGO for Windows aarch64 builds; r=firefox-build-system-reviewers,chmanchester
This build re-uses the PGO profile from the win64 build in the
win64-aarch64-shippable-no-eme part of the aarch64 build. Even though
the profile isn't generated on the smae platform, we still get enough of
a performance win to make this worthwhile.

Note that the pgo_flags() in configure need to be tweaked slightly since
we don't supprt the -fprofile-generate flag for aarch64 (we don't build
the clang_rt.profile lib there). So we always want to return the flags
namespace to make sure we get the use_* versions of flags, which we do
need.

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

--HG--
extra : moz-landing-system : lando
2019-07-23 23:42:47 +00:00
Mike Hommey 6a8d20b0cc Bug 1564216 - Require clang 5 for OSX builds. r=froydnj
There is less incentive to keep things building with older versions of
clang for OSX builds, and we're going to require an objective-C feature
that was added in clang 5.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 21:31:39 +00:00
Simon Sapin 0540fe3688 Bug 1565193 - Require Rust 1.36 r=glandium
MozReview-Commit-ID: GjcKBjZvTPr

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

--HG--
extra : moz-landing-system : lando
2019-07-19 04:50:22 +00:00
Nicholas Nethercote 3b27d4cb5e Bug 1567065 - Enable PHC on Linux64 Nightly builds. r=glandium
Depends on D38444

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

--HG--
extra : moz-landing-system : lando
2019-07-19 11:28:46 +00:00
Agi Sferro d0cb127dad Bug 1515248 - Upgrade to Android-Gradle plugin 3.2.1 and build-tools 28.0.3. r=agi
Differential Revision: https://phabricator.services.mozilla.com/D15159

--HG--
extra : moz-landing-system : lando
2019-07-20 17:27:53 +00:00
Makoto Kato c0d323f7d3 Bug 1567069 - Set valid _DEPEND_CFLAG for host compiler when target and host are different type. r=glandium
Actually we set _DEPEND_CFLAGS to both host and target compiler. But if host and target are different compiler type, we may pass invalid option.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 07:46:03 +00:00
Csoregi Natalia 96403eac4f Merge inbound to mozilla-central. a=merge 2019-07-19 12:43:24 +03:00
Nicholas Nethercote 44ed879798 Bug 1523276 - Disable PHC for the moment. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D38444

--HG--
extra : rebase_source : 1b7fc097a624c53e0a9c24737738c044e60d0238
2019-07-18 10:46:37 +10:00
Nathan Froyd 2c71c84a33 Bug 1486042 - default clang-cl pgo to use cross-language LTO; r=dmajor
This change is a little bit of a cheat, because of course MSVC doesn't
do cross-language LTO by default, but it seems consistent.

Depends on D33317

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

--HG--
extra : moz-landing-system : lando
2019-07-16 02:39:18 +00:00
Nicholas Nethercote 38dbbfcffc Bug 1523276 - Implement PHC, a probabilistic heap checker. r=glandium,gsvelto
Differential Revision: https://phabricator.services.mozilla.com/D25021

--HG--
extra : rebase_source : 86e94499f746b18a596130341692c6a9992d4867
2019-07-03 09:26:11 +10:00
Mike Hommey 9f33118c8c Bug 1562952 - Always build signmar when mar is built. r=nalexander
When we build mar, there is no reason not to build signmar as well. It
used to be optional because not all platforms were supported, but they
are now.

... except when building the newly added tools/update-packaging,
which builds the mar tool as a standalone thing, and building signmar
as well causes complications.

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

--HG--
extra : moz-landing-system : lando
2019-07-16 19:01:03 +00:00
Bogdan Tara 4d6dbdf94c Backed out 2 changesets (bug 1562952) for causing mar-tools failures a=backout
Backed out changeset 6b09d4c0868c (bug 1562952)
Backed out changeset 250696e18e7d (bug 1562952)
2019-07-12 00:04:53 +03:00
Mike Hommey c957b25a9f Bug 1562952 - Always build signmar when mar is built. r=nalexander
When we build mar, there is no reason not to build signmar as well. It
used to be optional because not all platforms were supported, but they
are now.

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

--HG--
extra : moz-landing-system : lando
2019-07-11 06:09:02 +00:00
Andreea Pavel 5d60cdbd27 Backed out 2 changesets (bug 1562952) for failing xpcshell at test_create.js on a CLOSED TREE
Backed out changeset 12099ffad9ca (bug 1562952)
Backed out changeset fc4a6e8f6e34 (bug 1562952)
2019-07-10 11:06:58 +03:00
Mike Hommey 1c3ea4d6bf Bug 1562952 - Always build signmar when mar is built. r=nalexander
When we build mar, there is no reason not to build signmar as well. It
used to be optional because not all platforms were supported, but they
are now.

--disable-verify-mar is kept to still allow to disable mar verification in
the updater for debugging purpose.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 03:17:26 +00:00
Mike Hommey 280a850db7 Bug 1561821 - Enable frame pointers in Rust code when building with --enable-frame-pointers. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D37021

--HG--
extra : moz-landing-system : lando
2019-07-05 00:08:32 +00:00
Mike Hommey 3ea251d03f Bug 1561821 - Bump toolkit/crashreporter's minimum supported rust version. r=dmajor
As it turns out, the version the minidump-stackwalk tasks use (1.31), is
the first version that actually builds the project: 1.30 and earlier
fail because for some reason, cargo wants to read all Cargo.toml files
in the workspace, including unrelated ones, and barfs on features that
weren't supported until 1.31.

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

--HG--
extra : moz-landing-system : lando
2019-07-05 22:01:23 +00:00
Makoto Kato ecd47d34f4 Bug 1562389 - Better detect non-clang-cl native windows clang. r=glandium
When building Gecko/Android/aarch64 on Windows, `--target` parameter may not be incorrect value. Although `check_compiler`'s `info` is target compiler, clang on Windows is always detected as `clang-cl`, not `clang`.

```
c:/Users/mkato/.mozbuild/clang/bin/clang.exe -E  -dM - < /dev/null
...
#define _MSC_VER 1916
```

So even if using clang on Windows, not clang-cl, we should detect as 'clang' correctly

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

--HG--
extra : moz-landing-system : lando
2019-07-08 10:35:40 +00:00
Makoto Kato b26c7976c7 Bug 1562389 - Set correct triple for rustc when host and target are different compiler type. r=froydnj
When host and target are different compiler type, triple for rustc may be incorrect. If target is clang, host is always clang, not using host compiler type.

Example, when host is clang-cl for windows, and target is clang for Android, host's triple for ructc sets `windows-gnu`, not `windows-msvc`.

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

--HG--
extra : moz-landing-system : lando
2019-07-08 10:35:31 +00:00
shindli d3e7218ba8 Backed out 2 changesets (bug 1562389) for causing bustages in ../python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::WindowsToolchainTest::test_clang_cl CLOSED TREE
Backed out changeset 7dbb546e6138 (bug 1562389)
Backed out changeset 68ad44276058 (bug 1562389)
2019-07-04 07:44:49 +03:00
Makoto Kato fa0b6ffc5f Bug 1562389 - Better detect non-clang-cl native windows clang r=glandium
When building Gecko/Android/aarch64 on Windows, `--target` parameter may not be incorrect value. Although `check_compiler`'s `info` is target compiler, clang on Windows is always detected as `clang-cl`, not `clang`.

```
c:/Users/mkato/.mozbuild/clang/bin/clang.exe -E  -dM - < /dev/null
...
#define _MSC_VER 1916
```

So even if using clang on Windows, not clang-cl, we should detect as 'clang' correctly

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

--HG--
extra : moz-landing-system : lando
2019-07-04 01:28:12 +00:00
Makoto Kato 52aaf37d4d Bug 1562389 - Set correct triple for rustc when host and target are different compiler type. r=froydnj
When host and target are different compiler type, triple for rustc may be incorrect. If target is clang, host is always clang, not using host compiler type.

Example, when host is clang-cl for windows, and target is clang for Android, host's triple for ructc sets `windows-gnu`, not `windows-msvc`.

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

--HG--
extra : moz-landing-system : lando
2019-07-01 20:11:08 +00:00
Mike Hommey d26da0b870 Bug 1560044 - Make Xcode checks macOS host only. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36559

--HG--
extra : moz-landing-system : lando
2019-07-02 23:24:57 +00:00
Mike Hommey 7256ffeb9b Bug 1560044 - Always use a SDK path on macOS. r=nalexander
The SDK headers may not be installed in /usr/include. The usual response
has been to have people run e.g. `open
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`
which is not really sustainable.

This makes builds that happen on a macOS host try to detect their SDK
and use that as a default for --with-macos-sdk, which has the side
effect of enabling the SDK version check in that configuration.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 22:11:05 +00:00
Mike Hommey dc4a97fb4e Bug 1560044 - Allow --with-macos-sdk as an option when cross-compiling on macOS. r=nalexander
Building host tools on macOS require a macOS SDK, but it's currently
not configurable when cross-compiling for e.g. Android.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 23:25:01 +00:00
Mike Hommey 7905091bbe Bug 1528314 - Make configure find an appropriate java via /usr/libexec/java_home on macOS. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36561

--HG--
extra : moz-landing-system : lando
2019-07-02 23:25:04 +00:00
Andreea Pavel c92947ecc6 Backed out 5 changesets (bug 1528314, bug 1560044) for build bustages on a CLOSED TREE
Backed out changeset 4a544cd4b035 (bug 1528314)
Backed out changeset 91919cdf9159 (bug 1528314)
Backed out changeset 1271940e91e8 (bug 1560044)
Backed out changeset a5bbaa8c1001 (bug 1560044)
Backed out changeset 7ae0d606f1c6 (bug 1560044)
2019-07-03 02:20:15 +03:00
Mike Hommey 5762785f58 Bug 1528314 - Make configure find an appropriate java via /usr/libexec/java_home on macOS. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36561

--HG--
extra : moz-landing-system : lando
2019-07-02 17:25:05 +00:00
Mike Hommey e1e0add912 Bug 1560044 - Make Xcode checks macOS host only. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36559

--HG--
extra : moz-landing-system : lando
2019-07-02 17:24:04 +00:00
Mike Hommey 65dabdc42b Bug 1560044 - Always use a SDK path on macOS. r=nalexander
The SDK headers may not be installed in /usr/include. The usual response
has been to have people run e.g. `open
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`
which is not really sustainable.

This makes builds that happen on a macOS host try to detect their SDK
and use that as a default for --with-macos-sdk, which has the side
effect of enabling the SDK version check in that configuration.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 17:23:23 +00:00
Mike Hommey 4e854757b0 Bug 1560044 - Allow --with-macos-sdk as an option when cross-compiling on macOS. r=nalexander
Building host tools on macOS require a macOS SDK, but it's currently
not configurable when cross-compiling for e.g. Android.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 17:21:54 +00:00
David Major 029c3f2a24 Bug 1561822 - Clean up a workaround for frame pointer flags in aarch64 clang-cl r=froydnj
Glandium pointed out that we're actually using the same flag for both `enable=` and `disable=`. Oops.

It turns out that we don't need this code anymore anyway, since the needed patch got merged to clang 8.0.0 [0], which we now require [1].

[0] https://reviews.llvm.org/rGa576b44d09080661fc9f83a94f66eccb44d5f3ce
[1] https://hg.mozilla.org/integration/autoland/rev/0a49234facf2

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

--HG--
extra : moz-landing-system : lando
2019-06-28 13:55:01 +00:00
Emilio Cobos Álvarez 3d0f056ca7 Bug 1559814 - Update cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D36020

--HG--
extra : moz-landing-system : lando
2019-06-26 20:32:41 +00:00
Mike Shal 9ea52410d9 Bug 1557785 - Fix automatic setting of LTO with clang-cl; r=dmajor
With clang-cl and PGO enabled, toolchain.configure automatically turns
on LTO for compatibility with MSVC. However, MOZ_PGO is set for both the
profile-generate and profile-use builds in a 3-tier PGO setup via
imply_option(), but we only want LTO enabled for the profile-use build
(see bug 1483778).

For 1-tier PGO builds, which are still used by local developers, MOZ_PGO
will be set and --enable-profile-generate will be unset, so LTO will be
automatically enabled. The profiledbuild target in make is responsible
for disabling MOZ_LTO on the profile-generate build.

For 3-tier PGO builds, MOZ_PGO will still be set, so we can skip setting
LTO in configure when --enable-profile-generate is set.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 18:38:15 +00:00
Mike Shal 628c15f57c Bug 1557785 - Allow LLVM_PROFDATA to work even if not explicitly set in the environment; r=firefox-build-system-reviewers,chmanchester
Windows finds llvm-profdata in the PATH, in contrast to Linux or Android
builds that set LLVM_PROFDATA as an environment variable in mozconfigs.
The pgo_profile_path() configure checks should still work in this case.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 22:05:56 +00:00
David Major df7699c43c Bug 1561350 - Fix libclang detection for clang-cl 9 r=glandium
In the clang-cl 9 case where we have semicolon-separated paths, the `dirs` variable is never read, so the libclang detection fails.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 20:39:01 +00:00
Petr Sumbera 506f679f53 Bug 1554582 - Solaris SPARC packaging should include libfreebl_64fpu_3.so and libfreebl_64int_3.so r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D32690

--HG--
extra : moz-landing-system : lando
2019-06-19 09:34:51 +00:00
Mike Hommey 5091811073 Bug 1559301 - Straighten up C/C++ standard compiler flags. r=nalexander
- `info.type in ('clang-cl', 'clang', 'gcc')` is always true since MSVC
support was removed.
- For some reason, we didn't enforce C++14 on GCC.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 16:14:50 +00:00
Chris Manchester c74a1fa131 Bug 1558996 - Require rust 1.35 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D34794

--HG--
extra : moz-landing-system : lando
2019-06-13 06:02:05 +00:00
Mike Hommey 85e29d1e3b Bug 1557583 - Add a --enable-frame-pointers option. r=chmanchester
We've been relying on frame pointers being indirectly enabled via things
like --enable-profiling for some time, but this doesn't scale because
some things may want frame pointers while wanting --disable-profiling.

So we move MOZ_FRAMEPTR_FLAGS to python configure and add a new option
to decide whether to enable frame pointers or not.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:30:46 +00:00
Mike Hommey 958968bcdc Bug 1557583 - Move --enable-*-sanitizers options to python configure. r=dmajor
But keep the corresponding logic in sanitize.m4.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 13:08:27 +00:00
Mike Hommey 44e96352da Bug 1557547 - Actively reject clang < 4.0 during configure. r=mshal
Bug 1394825 bumped the minimum version of clang we use on automation,
for the base toolchain jobs, and there's a libclang test for bindgen,
but we should reject the compiler in the first place.

The check to do that works in both C and C++, contrary to the original
3.6 test that was checking a C++ feature ; the test was later changed
for 3.9, using a check that would have worked in both C and C++, but
the C exception was left around. We remove it now.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:22:24 +00:00
Jan de Mooij dc18804805 Bug 1556646 part 2 - Rename JS_POSIX_NSPR to JS_WITHOUT_NSPR and remove --enable-posix-nspr-emulation configure flag. r=sfink,glandium
Stand-alone JS builds now default to without-NSPR on all platforms.

Note that the JS shell builds we do in automation pass --enable-nspr-build so they shouldn't be affected by
the JS shell changes.

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

--HG--
extra : moz-landing-system : lando
2019-06-08 09:10:59 +00:00
Mike Hommey ff4ab7e28f Bug 1557855 - Use a sensible default for --with-android-ndk. r=nalexander
Use the same logic as for --with-android-sdk to use the NDK downloaded
by mach bootstrap by default.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 22:23:37 +00:00
Mike Hommey 177ad5806d Bug 1557855 - Change how --with-android-sdk is handled. r=nalexander
We make it have a default value only if the corresponding directory exists,
and make it throw a more explicit error when the explicitly given directory
doesn't exist.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 22:20:48 +00:00
Mike Hommey 4b49193e14 Bug 1557855 - Define MOZBUILD_STATE_PATH as an option. r=nalexander
Rather than taking it from the environment every time it's necessary.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 23:25:01 +00:00
Mike Hommey 47925b3f7a Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using fold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 04:43:45 +00:00
Bogdan Tara 12782914a5 Backed out changeset 2d8ad105aac8 (bug 1557507) on Glandium's request CLOSED TREE 2019-06-07 07:38:03 +03:00
Mike Hommey 6b74e0f7de Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using gold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:53 +00:00
Mike Hommey 7dcedba0bf Bug 1557213 - Don't try to use NDK clang. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33902

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:10 +00:00
Mike Hommey 1c5cf6c437 Bug 1519954 - Pick binaries from mach bootstrap first on local developer builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33884

--HG--
extra : moz-landing-system : lando
2019-06-06 01:22:21 +00:00
Mike Hommey cbb9f80c77 Bug 1556880 - Support GCC ARM preprocessor defines to detect the ARM target. r=chmanchester
Also set `fpu` to None for when we don't find it.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:53:01 +00:00
Mike Hommey 985a376afa Bug 1526857 - Improve bindgen configuration wrt clang. r=chmanchester
The current setup for bindgen relies on either finding clang/libclang
from the output of llvm-config, or from the paths given via the
configure flags --with-clang-path/--with-libclang-path.

One _very_ common problem is that the llvm-config we end up using does
not correspond to the clang used for compilation, which has some
undesirable side effect, like failing to build.

So instead of relying on llvm-config, we do the following:
- when the compiler is clang, we just use that
- when the compiler is clang-cl, we use clang from the same directory
- otherwise, we either try to find clang in PATH, or rely on
  --with-clang-path.

Once clang is found, we try to deduce the location of the corresponding
libclang via the output of `clang -print-search-dirs`, or rely on
--with-libclang-path.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:48:20 +00:00
Cosmin Sabou 85466f08fd Backed out 2 changesets (bug 1486042) for causing crashes @ servo_arc::Arc<T>::drop_slow. CLOSED TREE
Backed out changeset 5e85998c4d97 (bug 1486042)
Backed out changeset d083a8bd98ed (bug 1486042)
2019-06-01 02:19:19 +03:00
Nathan Froyd 915bec197e Bug 1486042 - default clang-cl pgo to use cross-language LTO; r=dmajor
This change is a little bit of a cheat, because of course MSVC doesn't
do cross-language LTO by default, but it seems consistent.

Depends on D33317

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

--HG--
extra : moz-landing-system : lando
2019-05-31 17:24:02 +00:00
Gijs Kruitbosch fd337bafb4 Bug 1196094 - disable _exit in child processes when generating profile information, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D33269

--HG--
extra : moz-landing-system : lando
2019-05-31 14:17:47 +00:00
Mike Hommey cfe985532a Bug 1554928 - Remove configure options that have been deprecated for a while. r=nalexander
- DISABLE_SHARED_JS and DISABLE_EXPORT_JS have been deprecated for 3
years,
- MOZ_JEMALLOC4 has been deprecated for 2 years.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 02:01:02 +00:00
Cosmin Sabou 4b7060c540 Backed out changeset f593f5a5bfa3 (bug 1555346) for build bustages on llvm-profdata. CLOSED TREE 2019-05-29 19:14:25 +03:00
Nathan Froyd 74a42ff95b Bug 1555346 - require llvm-profdata when using pgo with clang{,-cl}; r=dmajor
Detecting problems earlier is better than detecting them later.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 15:59:18 +00:00
Justin Wood dbf256c14c Bug 1547730 - Update a build moz.configure function, to support py3 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D28115

--HG--
extra : moz-landing-system : lando
2019-05-28 14:28:43 +00:00
Nathan Froyd 875e72df9f Bug 1542746 - switch clang{,-cl} to use IR-based instrumentation for PGO; r=firefox-build-system-reviewers,chmanchester
This form of instrumentation is more like our other platforms, and also
opens the possibility of interacting properly with Rust IR-level PGO.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 19:52:41 +00:00
Nathan Froyd 93a44ee14e Bug 1553972 - make --with-pgo-profile-path take a directory; r=nalexander
e10s profiling or IR-based PGO instrumentation will both produce
multiple `.profraw` files that need to be handled in some way.  Since
clang's `-fprofile-generate` option takes a directory, it seems fitting
to make `--with-pgo-profile-path` mirror that by taking a directory, and
letting `merge_profdata.py` deal with whatever files it might find in
said directory.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:53:59 +00:00
Mike Hommey 146d61ba71 Bug 1530650 - Add --cap-lints warn to RUSTFLAGS when not building with --enable-warnings-as-errors. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D32080

--HG--
extra : moz-landing-system : lando
2019-05-22 12:59:01 +00:00
Nathan Froyd 37d0db29a9 Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander
Our current OS X builds use `--target=x86_64-darwin11` (which
corresponds to OS X 10.7).  This target is problematic for two reasons:

* We're actually targeting for OS X 10.9 (`MACOSX_DEPLOYMENT_TARGET`);
* It's slightly different from the default Rust target.

Let's address these problems in reverse order: differences from the Rust
target are bad, because the `--target` we provide to `clang` and the
Rust target find their way into LLVM bitcode files and the linker will
refuse to link together bitcode files that have incompatible targets.

Why are the two incompatible?  The current `--target` doesn't have a
"vendor" in triple-speak, whereas the Rust one has "apple" as the
vendor (`x86_64-apple-darwin`) We therefore need to change the
`--target` we pass to `clang` to have a vendor of "apple".

This need is behind the {init,toolchain}.configure changes,
but it has ramifications elsewhere, because `clang` looks for
`--target`-prefixed build tools.  So we have to change the `--target`
for cctools to get the right tool prefixes and we have to change the
`--target` for building clang ourselves so that *those* builds can find
the newly renamed cctools.

Once we've done, that's really enough; we don't *need to address the
first problem: While the `--target` might be `x86_64-apple-darwin11`,
both `clang` and `rustc` will dynamically choose the target triple that
eventually lands in LLVM bitcode files based on
`MACOSX_DEPLOYMENT_TARGET`, which we set in all builds.  But the current
target is slightly misleading, and the cctools don't need to be prefixed
with a particular Darwin version, since they work for all Darwin
targets.  Let's just drop the "11" from the `--target` and eliminate a
little bit of confusion.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 17:53:44 +00:00
Andreea Pavel 58566309c2 Backed out changeset ae7096d1add7 (bug 1551690) for toolchain bustages on a CLOSED TREE 2019-05-21 17:05:24 +03:00
Nathan Froyd d49bc5f0ef Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander
Our current OS X builds use `--target=x86_64-darwin11` (which
corresponds to OS X 10.7).  This target is problematic for two reasons:

* We're actually targeting for OS X 10.9 (`MACOSX_DEPLOYMENT_TARGET`);
* It's slightly different from the default Rust target.

Let's address these problems in reverse order: differences from the Rust
target are bad, because the `--target` we provide to `clang` and the
Rust target find their way into LLVM bitcode files and the linker will
refuse to link together bitcode files that have incompatible targets.

Why are the two incompatible?  The current `--target` doesn't have a
"vendor" in triple-speak, whereas the Rust one has "apple" as the
vendor (`x86_64-apple-darwin`) We therefore need to change the
`--target` we pass to `clang` to have a vendor of "apple".

This need is behind the {init,toolchain}.configure changes,
but it has ramifications elsewhere, because `clang` looks for
`--target`-prefixed build tools.  So we have to change the `--target`
for cctools to get the right tool prefixes and we have to change the
`--target` for building clang ourselves so that *those* builds can find
the newly renamed cctools.

Once we've done, that's really enough; we don't *need to address the
first problem: While the `--target` might be `x86_64-apple-darwin11`,
both `clang` and `rustc` will dynamically choose the target triple that
eventually lands in LLVM bitcode files based on
`MACOSX_DEPLOYMENT_TARGET`, which we set in all builds.  But the current
target is slightly misleading, and the cctools don't need to be prefixed
with a particular Darwin version, since they work for all Darwin
targets.  Let's just drop the "11" from the `--target` and eliminate a
little bit of confusion.

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

--HG--
extra : moz-landing-system : lando
2019-05-21 13:48:23 +00:00
Coroiu Cristina c4361da40f Backed out changeset 2e560a9e4bcf (bug 1551690) for build bustages 2019-05-21 03:51:56 +03:00
Nathan Froyd dc2ad25275 Bug 1551690 - be more specific about the LLVM target on OS X; r=nalexander
Our current OS X builds use `--target=x86_64-darwin11` (which
corresponds to OS X 10.7).  This target is problematic for two reasons:

* We're actually targeting for OS X 10.9 (`MACOSX_DEPLOYMENT_TARGET`);
* It's slightly different from the default Rust target.

Let's address these problems in reverse order: differences from the Rust
target are bad, because the `--target` we provide to `clang` and the
Rust target find their way into LLVM bitcode files and the linker will
refuse to link together bitcode files that have incompatible targets.

Why are the two incompatible?  The current `--target` doesn't have a
"vendor" in triple-speak, whereas the Rust one has "apple" as the
vendor (`x86_64-apple-darwin`) We therefore need to change the
`--target` we pass to `clang` to have a vendor of "apple".

This need is behind the {init,toolchain}.configure changes,
but it has ramifications elsewhere, because `clang` looks for
`--target`-prefixed build tools.  So we have to change the `--target`
for cctools to get the right tool prefixes and we have to change the
`--target` for building clang ourselves so that *those* builds can find
the newly renamed cctools.

Once we've done, that's really enough; we don't *need to address the
first problem: While the `--target` might be `x86_64-apple-darwin11`,
both `clang` and `rustc` will dynamically choose the target triple that
eventually lands in LLVM bitcode files based on
`MACOSX_DEPLOYMENT_TARGET`, which we set in all builds.  But the current
target is slightly misleading, and the cctools don't need to be prefixed
with a particular Darwin version, since they work for all Darwin
targets.  Let's just drop the "11" from the `--target` and eliminate a
little bit of confusion.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 21:13:17 +00:00
David Major 12a5d86407 Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 17:53:37 +00:00
Coroiu Cristina 55a63d1520 Backed out 2 changesets (bug 1523526, bug 1526443) for Be bustage on Windows AArch on a CLOSED TREE
Backed out changeset 98013639d600 (bug 1526443)
Backed out changeset e8ac4b512f9d (bug 1523526)
2019-05-20 20:21:56 +03:00
David Major f0dc4b3dbe Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 18:38:23 +00:00
Chris Manchester 5fa8ca19bf Bug 1552021 - Add an option to turn off rust incremental compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31341

--HG--
extra : moz-landing-system : lando
2019-05-17 23:00:30 +00:00
Emilio Cobos Álvarez dba21ae038 Bug 1552476 - Ensure we pass a string to CDLL on Windows. r=froydnj
Apparently it doesn't deal very well with unicode objects.

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

--HG--
extra : moz-landing-system : lando
2019-05-17 19:16:55 +00:00
Emilio Cobos Álvarez cee627fc60 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

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

--HG--
extra : moz-landing-system : lando
2019-05-16 23:24:17 +00:00
Ciure Andrei 00a73f5055 Backed out 17 changesets (bug 1550554, bug 1549593, bug 1551991, bug 1529002) for failing multiple Android tests and Windows 2012 bustages CLOSED TREE
Backed out changeset 3bb3fafa62e2 (bug 1551991)
Backed out changeset e12a979de502 (bug 1551991)
Backed out changeset d81e4aa6bf0c (bug 1551991)
Backed out changeset c354e61f2a34 (bug 1551991)
Backed out changeset 37fd602bebc2 (bug 1551991)
Backed out changeset 6c1f00cc30ca (bug 1551991)
Backed out changeset 8a7a0329bdc3 (bug 1551991)
Backed out changeset 86159475ddd3 (bug 1551991)
Backed out changeset 35f91a9ea82a (bug 1529002)
Backed out changeset 6798155e71dc (bug 1529002)
Backed out changeset b90c2cf5b8c5 (bug 1550554)
Backed out changeset 882ab9868c95 (bug 1550554)
Backed out changeset b28a48e2ed21 (bug 1550554)
Backed out changeset 2c31fe18eefd (bug 1550554)
Backed out changeset 57f2362aa538 (bug 1550554)
Backed out changeset 45f171b26e95 (bug 1550554)
Backed out changeset 2e4b263c9410 (bug 1549593)
2019-05-16 13:17:10 +03:00
Emilio Cobos Álvarez e10c38f6f4 Bug 1529002 - Update cbindgen. r=boris
We need this to auto-generate the copy-constructor for TransformOperation,
without which the patch wouldn't build.

Differential Revision: https://phabricator.services.mozilla.com/D30799
2019-05-16 16:24:36 +02:00
Emilio Cobos Álvarez c74f3a885b Bug 1549762 - Don't build mozglue linker tests if building with icecream. r=glandium
As icecream doesn't deal well with .incbin.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:40:23 +00:00
Emilio Cobos Álvarez 56a3566948 Bug 1551618 - Check for libclang >= 4.0 in configure. r=froydnj
This is better than failing with obscure rust errors later on.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:11:52 +00:00
Nathan Froyd 85925b5be6 Bug 1547196 - remove rustup wrapper from `rustc` as well as `cargo`; r=glandium
Having `rustc` be `rustup`'s wrapper for `rustc` means that we may
silently honor `rustup`'s override mechanisms.  We noticed this first on
OS X, where we use the "real" `cargo` but `rustup`'s `rustc` wrapper,
and problems ensued when `cargo` thought it was using one version of
`rustc`, but actually wound up using something different.

It seems better to avoid silently interposing `rustup`'s toolchain
override mechanisms everywhere, rather than having to special-case OS
X.  So let's factor out a general mechanism for removing the wrappers
`rustup` provides and use that for both `rustc` and `cargo`.  The tests
need adjusting because we weren't triggering the unwrapping cases
before; we don't yet test the case where we really do need to unwrap.
That test can be left for a future patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-14 05:43:19 +00:00
Nathan Froyd 1396262e0e Bug 1550868 - enforce a minimum version of clang-cl; r=glandium
We've not been checking the clang-cl version in use.  This lack of
checking is bad, for a couple of reasons:

* Released versions of clang-cl differ drastically in their robustness;
* Only the most recent version of clang-cl supports aarch64.

We should check for a minimum version of clang-cl, just like our other
supported compilers.  As a bonus, we can then start depending on
features that we know appear in the particular minimum clang-cl
version.  (The current patch is motivated by `/clang:` command-line
support, but one could pick other things.)

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

--HG--
extra : moz-landing-system : lando
2019-05-14 14:22:55 +00:00
Nathan Froyd f104ce2b4a Bug 1546438 - add a `cross` option to `MOZ_LTO` for cross-language LTO; r=mshal
This option is for performing LTO between C++ code and Rust code.  The
actual build pieces for Rust code are coming in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:16:36 +00:00
Nathan Froyd ae023b43de Bug 1549794 - add sysroot flags for the macOS SDK to bindgen's flags; r=nalexander
We already do this for the compiler that we detect via
toolchain.configure...but as the comment in `basic_bindgen_cflags`
alludes to, we don't actually use that compiler here.  We use a much
more bare-bones compiler, so we have to add the necessary flags manually.

We need to make `--with-macos-sdk` a `js_option` so that uses of bindgen
in the JS engine will receive the proper flags.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:07:34 +00:00
Mike Hommey fa3631a2e3 Bug 1549886 - Move MOZ_TELEMETRY_REPORTING to python configure. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D30335

--HG--
extra : moz-landing-system : lando
2019-05-08 14:33:54 +00:00
Alexis Beingessner 1017bd764c Bug 1525402 - Bump cbindgen to 0.8.6. r=kvark
This version adds support for Rust 2018's new externs

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

--HG--
extra : moz-landing-system : lando
2019-05-07 01:40:15 +00:00
Ryan VanderMeulen 40c297ce51 Bug 1548916 - Add support for specifying a custom path for app version files. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D29918

--HG--
extra : moz-landing-system : lando
2019-05-06 23:19:44 +00:00
Kartikaya Gupta 3068d94ed2 Bug 1549554 - Use biplist instead of plistlib so we can parse SDKSettings.plist in the 10.14 SDK. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D30097

--HG--
extra : moz-landing-system : lando
2019-05-06 20:11:16 +00:00
Dan Minor e2aee8c88f Bug 1540760 - Make it possible to use clang-cl as an assembler; r=firefox-build-system-reviewers,mshal
Some media libraries use gas syntax in their assembly files. Rather than
converting these arm assembly syntax files for aarch64, we can use clang-cl
to build them directly.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 15:04:48 +00:00
Mike Hommey e958e4adc0 Bug 1536543 - Require rust 1.34. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D25896

--HG--
extra : moz-landing-system : lando
2019-04-30 22:16:11 +00:00
Nathan Froyd 20f2bebd3f Bug 1547038 - ignore unrelated errors when checking compiler flags with ccache; r=chmanchester
Using `ccache` apparently interferes with how flag checking is done when
we're using `clang` as our compiler.  We can work around this by adding
a few more flags to flag checking.

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

--HG--
extra : moz-landing-system : lando
2019-04-30 20:04:22 +00:00
Bobby Holley cc31352b96 Bug 1547847 - Refine MacOS header configure check to whitelist cross-compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D29285

--HG--
extra : moz-landing-system : lando
2019-04-30 00:06:53 +00:00
Mark Banner e4c79f2689 Bug 1495672 - Block configure if the Mac OS X headers are not installed on 10.14. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28817

--HG--
extra : moz-landing-system : lando
2019-04-25 16:27:18 +00:00
Nathan Froyd e6da99d7d3 Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 16:15:10 +00:00
Cosmin Sabou 428af65705 Backed out changeset 445a4ea25bb1 (bug 1546491) for build bustages on test/configure/lint.py. CLOSED TREE 2019-04-24 18:44:08 +03:00
Nathan Froyd c7748ae96f Bug 1546491 - raise minimum windows SDK version; r=RyanVM
We've landed some recent changes that implicitly require SDK
10.0.17134.0.  Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 15:09:05 +00:00
Nathan Froyd 49c1be9b8f Bug 1545502 - move fuzzing options to toolchain.configure; r=firefox-build-system-reviewers,chmanchester
We moved fuzzing options out of `toolkit/moz.configure` into `js`'s
configure a while back, but we seem to have snuck some fuzzing-related
options into `toolchain.configure` in the interim.  But we can't make
the `toolchain.configure` bits depend on the `js` bits; let's just put
everything in `toolchain.configure`.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:15:17 +00:00
Emilio Cobos Álvarez 4f84601466 Bug 1542878 - Check all the cbindgen executables before failing configure. r=froydnj
Before this patch, we first find an executable, then check the version. So if
the first executable we find is outdated, we won't look for others.

Instead, check each of them for different versions manually. This will also
unblock bug 1540533, since at that point we know that we'll be able to find
a cbindgen with the right version.

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

--HG--
extra : moz-landing-system : lando
2019-04-17 14:31:19 +00:00
Eric Rahm 1cfab6d66f Bug 1544418 - Increase max OSX SDK version to 10.14. r=mshal
We are no longer seeing black screen issues on OSX 10.14.4.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:45 +00:00
Eric Rahm 2016216d6f Bug 1544418 - Backed out changeset 3d0236f985f8. r=mshal
Backout update that broke OSX 10.13 builds.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:57 +00:00
Mike Shal 63403bb0df Bug 1522931 - always check the OSX SDK version; r=firefox-build-system-reviewers,chmanchester
Bug 1500504 added a version check for the SDK, but it only does the
check if --with-macos-sdk is used. We should also check the version when
using the default SDK.

Note that this means we now set MACOS_SDK_DIR to be the default SDK even
if it wasn't set explicitly from --with-macos-sdk

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

--HG--
extra : moz-landing-system : lando
2019-04-12 19:00:13 +00:00
Cosmin Sabou 856169370c Backed out changeset ac23ad5ef0c1 (bug 1542862) as requested by glandium for being obsolete after bug 1536486. 2019-04-12 02:24:21 +03:00
Mike Hommey 35d057b2e3 Bug 1536486 - Use plain cargo instead of rustup cargo on OSX. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27040

--HG--
extra : moz-landing-system : lando
2019-04-11 22:25:51 +00:00
Csoregi Natalia efc3a9c990 Backed out 2 changesets (bug 1522931) for breaking macOS build on 10.14. a=backout
Backed out changeset 27214432fe48 (bug 1522931)
Backed out changeset 71191e5499a1 (bug 1522931)
2019-04-10 17:10:12 +03:00
Mike Shal 3af5e94461 Bug 1522931 - always check the OSX SDK version; r=firefox-build-system-reviewers,chmanchester
Bug 1500504 added a version check for the SDK, but it only does the
check if --with-macos-sdk is used. We should also check the version when
using the default SDK.

Note that this means we now set MACOS_SDK_DIR to be the default SDK even
if it wasn't set explicitly from --with-macos-sdk

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

--HG--
extra : moz-landing-system : lando
2019-04-09 20:38:51 +00:00
Bobby Holley 2a1f1c84f4 Bug 1542862 - Eagerly fail when building Android on OSX with rust 1.33 and point to the bug/workaround. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D26589

--HG--
extra : moz-landing-system : lando
2019-04-09 18:40:44 +00:00
Emilio Cobos Álvarez 1edac4dc48 Bug 1536582 - Update cbindgen. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D25520

--HG--
extra : moz-landing-system : lando
2019-03-30 19:55:23 +00:00
Coroiu Cristina a21690048b Merge mozilla-central to inbound a=merge 2019-03-29 11:50:07 +02:00
Mike Hommey 69a2e6fc69 Bug 1510897 - Add -stdlib=libstdc++ to the compiler flags on Android. r=froydnj
There is no concern that the Android NDK clang may not support it, as
the flag was added in clang 2.9. The flag is also not supported with
GCC, which is not ideal, but we already crossed that bridge at least
with -gcc-toolchain added in extra_toolchain_flags, which is not
supported by GCC either.

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

--HG--
extra : moz-landing-system : lando
2019-03-28 13:15:43 +00:00
Mike Hommey ee64e5bdec Bug 1510897 - Separate Android C++ flags from the other Android toolchain flags. r=nalexander
We shouldn't pass those flags when building C. It doesn't matter /too/
much currently, but will in a subsequent change, which will introduce
a C++-only flag in stlport_cppflags.

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

--HG--
extra : moz-landing-system : lando
2019-03-27 22:05:04 +00:00
Makoto Kato f4da46152c Bug 1527796 - Part 2. Detect Java on Windows. r=nalexander,glandium
When installing JDK 1.8, it writes path to the following registry.

 HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.8\JavaHome

So we use this registry to detect JDK installation path on Windows if available.

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

--HG--
extra : rebase_source : d8a380d9839f4de749815f3c81665e8d00226862
2019-03-05 11:03:27 +09:00