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

1504 Коммитов

Автор SHA1 Сообщение Дата
Bogdan Tara 6b0b300cc5 Backed out 3 changesets (bug 1620145) for lints failure and Android bustages CLOSED TREE
Backed out changeset eee5907efc81 (bug 1620145)
Backed out changeset 80acd7d7bc10 (bug 1620145)
Backed out changeset f07bb47f20b3 (bug 1620145)
2020-03-28 01:36:27 +02:00
Aaron Klotz fa8d4a5ee5 Bug 1620145: Part 0 - Set compileSdkVersion to use ANDROID_TARGET_SDK; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D68612

--HG--
extra : moz-landing-system : lando
2020-03-27 22:52:30 +00:00
James Willcox ed993b2081 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-03-26 23:28:47 +00:00
Christian Holler 367201db7c Bug 1625268 - Disable new pass manager for fuzzing when using older Clang. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D68525

--HG--
extra : moz-landing-system : lando
2020-03-27 13:32:06 +00:00
Mike Hommey f352b032de Bug 1618782 - Enable hardening on win64-aarch64 build when the compiler supports it. r=rstewart
We only enabled hardening with an explicit --enable-hardening because we
needed a patch. That patch was applied to upstream clang 8.0.1, so we
can now enable automatically whenever using the right version.

The explicit --enable-hardening was also not applied to win64-aarch64
debug builds, and this indirectly enables it there too, matching other
debug builds. This also avoids breaking debug builds when enabling
winchecksec on cross builds.

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

--HG--
extra : moz-landing-system : lando
2020-03-27 10:41:23 +00:00
Mike Hommey 663eefb54e Bug 1624535 - Make check_prog(allow_missing=depends(...)) work. r=froydnj
For consistency with e.g. pkg_check_modules.

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

--HG--
extra : moz-landing-system : lando
2020-03-26 00:19:31 +00:00
Ricky Stewart a9e3414c54 Bug 1623952 - Make remaining tweaks to configure so it works under macOS on Python 3 r=ahal
Differential Revision: https://phabricator.services.mozilla.com/D67647

--HG--
extra : moz-landing-system : lando
2020-03-25 18:58:51 +00:00
David Major 805504c21e Bug 1622168 - Disable new pass manager on non-pgo mac builds due to hangs r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D67952

--HG--
extra : moz-landing-system : lando
2020-03-25 14:24:08 +00:00
Mike Hommey b80ad1b15a Bug 1620166 - Switch shippable windows builds to cross builds. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D67279

--HG--
extra : moz-landing-system : lando
2020-03-20 00:59:15 +00:00
Noemi Erli abc5a1f51d Merge mozilla-central to autoland. a=merge CLOSED TREE 2020-03-19 19:10:43 +02:00
Arthur Iakab 5c9d64d430 Backed out changeset a1a54431e6d6 (bug 1620166) for causing beetmover exeptions Bug 1623616 a=backout 2020-03-19 16:33:03 +02:00
Ricky Stewart a7b0b2f38e Bug 1621624 - Check for any version of libclang.so r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D67208

--HG--
extra : moz-landing-system : lando
2020-03-19 14:19:23 +00:00
Mike Hommey 75be07d957 Bug 1620166 - Switch shippable windows builds to cross builds. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D67279

--HG--
extra : moz-landing-system : lando
2020-03-18 23:56:31 +00:00
Andi-Bogdan Postelnicu 2772af809c Bug 1623282 - [clang-plugin][alpha] Do not define `MOZ_CLANG_PLUGIN_ALPHA` if we don't need it. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D67292

--HG--
extra : moz-landing-system : lando
2020-03-18 14:17:39 +00:00
Andi-Bogdan Postelnicu bc9dbe64a1 Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg
Differential Revision: https://phabricator.services.mozilla.com/D65314

--HG--
extra : moz-landing-system : lando
2020-03-17 07:01:09 +00:00
David Major a453b0920c Bug 1622856 - Disable new pass manager on Mac hosts r=firefox-build-system-reviewers,rstewart
Several developers have reported hangs on native Mac builds. I think we should disable the flag on Mac hosts. Even if we could fix the current hangs, without coverage in CI for this build configuration, we're asking for more trouble down the road.

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

--HG--
extra : moz-landing-system : lando
2020-03-16 17:57:41 +00:00
Andreea Pavel a6b6afe578 Backed out changeset 780399392e20 (bug 1619921) for breaking toolchains on a CLOSED TREE 2020-03-16 18:27:17 +02:00
Andi-Bogdan Postelnicu 1ee04a1f77 Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg
Differential Revision: https://phabricator.services.mozilla.com/D65314

--HG--
extra : moz-landing-system : lando
2020-03-16 16:04:00 +00:00
Mike Hommey 061c3f52b5 Bug 1621552 - Don't pass clang PGO runtime explicitly on Windows. r=dmajor
It turns out clang-cl adds an explicit /DEFAULTLIB:/full/path/to/runtime
to all the .obj it creates, which makes the linker add it on its own.

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

--HG--
extra : moz-landing-system : lando
2020-03-11 21:58:45 +00:00
David Major 8c86c42e0f Bug 1619461 - Enable the new pass manager in clang builds. r=rstewart,glandium
LLVM's new pass manager has been in the works for several years and has better optimization (sometimes much better) than the legacy pass manager. I think it's in good enough shape for us to try at this point.

While we only really need the new pass manager for shippable builds, as a general principle I'd like to use it as much as possible, to help catch bugs for upstream. Therefore this patch enables the new pass manager by default for all clang builds, with the only exceptions being compilers older than version 9, and xcode clang where we can't trust the version number. There isn't a specific problem with older versions; I just don't want to sign up for the support cost of debugging people's local builds that may be fixed already.

I don't expect it to be necessary, but just in case, an opt-out is available via `ac_add_options --disable-new-pass-manager`.

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

--HG--
extra : rebase_source : 91df800146700e4958b8e645ebbd3cf7b11a2f1e
extra : source : 2f5aba2e2c099a1df26e3444ccec2be0b4ff4613
2020-03-11 02:08:37 +00:00
Andreea Pavel bfc7043d13 Backed out changeset 2f5aba2e2c09 (bug 1619461) for build bustages at testBug1117235.js on a CLOSED TREE 2020-03-11 16:42:42 +02:00
David Major 21170f3a10 Bug 1619461 - Enable the new pass manager in clang builds. r=rstewart,glandium
LLVM's new pass manager has been in the works for several years and has better optimization (sometimes much better) than the legacy pass manager. I think it's in good enough shape for us to try at this point.

While we only really need the new pass manager for shippable builds, as a general principle I'd like to use it as much as possible, to help catch bugs for upstream. Therefore this patch enables the new pass manager by default for all clang builds, with the only exceptions being compilers older than version 9, and xcode clang where we can't trust the version number. There isn't a specific problem with older versions; I just don't want to sign up for the support cost of debugging people's local builds that may be fixed already.

I don't expect it to be necessary, but just in case, an opt-out is available via `ac_add_options --disable-new-pass-manager`.

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

--HG--
extra : moz-landing-system : lando
2020-03-11 02:08:37 +00:00
Mike Hommey 5573726a45 Bug 1620980 - Fix Windows artifact builds after bug 1620165. r=froydnj
Both Wine and UPX are necessary when doing artifact builds.

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

--HG--
extra : moz-landing-system : lando
2020-03-10 00:23:40 +00:00
Mike Hommey 5e3d7e3257 Bug 1619867 - Look for .exe-suffixed midl and rc from configure. r=dmajor
With this and all the previous changes, the necessary mozconfig for
local cross-builds only contains DIA_SDK_PATH, WINDOWSSDKDIR and
--target.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 17:13:24 +00:00
Mike Hommey 5da778f6e4 Bug 1617147 - Stop setting check_prog result to : for missing programs. r=nalexander,rstewart
This was cargo culted from the autoconf equivalent, and while it makes a
command that does "$(PROG) foo" work because it becomes ": foo", that
may or may not actually be a desirable outcome.

OTOH, we do have some places where there are some "ifdef PROG" that are
just plain wrong when PROG is always actually set.

One place I do know that does check if the value is not ":" is for
OBJCOPY, which is still set from autoconf.

All in all, looking at all the check_prog(allow_missing=True) we have in
python configure, it doesn't seem anything is checking for ":", and that
doesn't seem like the right status quo.

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

--HG--
extra : moz-landing-system : lando
2020-03-05 21:52:10 +00:00
Tyson Smith d97983b83c Bug 1404547 - Enable 'enum' UBSan check. r=froydnj,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D65393

--HG--
extra : moz-landing-system : lando
2020-03-04 20:22:30 +00:00
Mihai Alexandru Michis 3bdc97b4c6 Backed out changeset 4af4d32ee984 (bug 1404547) for causing wpt leaks. 2020-03-04 12:23:34 +02:00
Tyson Smith 7f6936156c Bug 1404547 - Enable 'enum' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D65213

--HG--
extra : moz-landing-system : lando
2020-03-03 22:30:39 +00:00
Stephen A Pohl 38ad74e45d Bug 1583854: Allow builds with the 10.15 macOS SDK. r=mshal
Depends on D64447

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

--HG--
extra : moz-landing-system : lando
2020-02-26 20:32:13 +00:00
Mike Hommey 01879b59e1 Bug 1618766 - Properly find and use MT on Windows cross-builds. r=froydnj
- Remove the separate option() for MT, because it dates back from when
  we needed `MT` not being an absolute path, but that hasn't been true
  since bug 1290040.

- Extend what was done in bug 1617794 to MT, although the long term move
  is to not rely on MT at all.

- Patch leftovers from bug 1613799.

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

--HG--
extra : moz-landing-system : lando
2020-02-28 12:33:03 +00:00
Tooru Fujisawa 350ed0cf8c Bug 1612515 - Part 6: Import the SmooshMonkey change from rust-frontend. r=jorendorff,glandium
Differential Revision: https://phabricator.services.mozilla.com/D64170

--HG--
extra : moz-landing-system : lando
2020-02-28 14:17:33 +00:00
Chris Manchester 7fbe451377 Bug 1617700 - Bump in-tree sccache to 0.2.13 and require the new version to build. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63971

--HG--
extra : moz-landing-system : lando
2020-02-26 21:46:27 +00:00
Chris Manchester 9a39bce9e0 Bug 1615003 - Require rustc 1.41 to build. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D63372

--HG--
extra : moz-landing-system : lando
2020-02-27 16:21:13 +00:00
Mike Hommey e9aa8d95b5 Bug 1617794 - Allow configure to find Windows SDKs and tools when cross-compiling with clang-cl. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D64293

--HG--
extra : moz-landing-system : lando
2020-02-26 20:53:48 +00:00
Mike Hommey 83f784d880 Bug 1617794 - Properly set the target flag for bindgen when cross compiling for Windows. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D64292

--HG--
extra : moz-landing-system : lando
2020-02-26 20:52:09 +00:00
Bogdan Tara ab84964fa2 Backed out changeset 9df351217706 (bug 1617700) for webconsole/typing.js failures CLOSED TREE 2020-02-26 23:39:02 +02:00
Mike Hommey cdb95efb9d Bug 1618065 - Unify Windows assembler executable extensions. r=dmajor
Depending on the target, the assembler for Windows builds is one of ml,
ml64, or armasm64. Only for the latter currently are we looking for the
assembler with the .exe extension. All of them should be looked for the
same way, and we pick including the extension.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 20:48:17 +00:00
Mike Hommey 1bc4750dca Bug 1618063 - Pass full qualified path of the assembler to old-configure. r=dmajor
We're feeding old-configure with compiler and assembler as found by
python configure via ac_cv_* variables (abusing the autoconf cache).

When doing so, and when the assembler was provided via an environment
variable, while python configure resolves the path, old-configure
doesn't get the resolved path, because we're currently passing it the
path that was passed via the environment.

Now pass the resolved path instead.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 20:45:54 +00:00
Bogdan Tara 32800c141f Backed out changeset 7bf42b92bb7e (bug 1615003) for causing build bustages CLOSED TREE 2020-02-26 20:35:02 +02:00
Chris Manchester f4fd5b69cb Bug 1615003 - Require rustc 1.41 to build. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D63372

--HG--
extra : moz-landing-system : lando
2020-02-26 18:12:34 +00:00
Brindusan Cristian b7970646fb Backed out changeset 1ce1b379d5c9 (bug 1615003) for breaking Gecko decision task. CLOSED TREE 2020-02-26 19:48:06 +02:00
Chris Manchester c54ae051b3 Bug 1615003 - Require rustc 1.41 to build. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D63372

--HG--
extra : moz-landing-system : lando
2020-02-20 12:38:43 +00:00
Chris Manchester fb67d9c344 Bug 1617700 - Bump in-tree sccache to 0.2.13 and require the new version to build. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63971

--HG--
extra : moz-landing-system : lando
2020-02-25 02:15:06 +00:00
Mike Hommey 356b8e5725 Bug 1617801 - Add UPX as an explicit dependency. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D64008

--HG--
extra : moz-landing-system : lando
2020-02-26 04:00:01 +00:00
Noemi Erli 62198d5223 Backed out changeset 2d2e184a0ae9 (bug 1617801) for causing Windows bustages CLOSED TREE 2020-02-26 05:10:40 +02:00
Mike Hommey 117ea52648 Bug 1617801 - Add UPX as an explicit dependency. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D64008

--HG--
extra : moz-landing-system : lando
2020-02-25 14:13:27 +00:00
Marco Bonardo b5b6473a6d Bug 1611386 - Drop support for --enable-system-sqlite. r=asuth,glandium
Differential Revision: https://phabricator.services.mozilla.com/D63177

--HG--
extra : moz-landing-system : lando
2020-02-20 22:16:03 +00:00
Ricky Stewart ed86c19248 Bug 1614994 - Adjust sys.path manipulation in configure to ensure we can pick up shutil_which r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62960

--HG--
extra : moz-landing-system : lando
2020-02-18 15:34:03 +00:00
Mike Hommey 665fc1b7b5 Bug 1615511 - Don't use raw backslashed paths. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62865

--HG--
extra : moz-landing-system : lando
2020-02-14 12:16:07 +00:00
Mike Hommey 3739cae7aa Bug 1615511 - Don't use a Windows-specific exception. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D62864

--HG--
extra : moz-landing-system : lando
2020-02-14 12:15:45 +00:00
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