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

330 Коммитов

Автор SHA1 Сообщение Дата
Mike Shal 9866beb54f Bug 1500504 - Add version checks for the OSX SDK; r=froydnj#firefox-build-system-reviewers
In bug 1494022 there are problems using an SDK that is too new, which
can cause developers to spend many hours debugging an issue that we
could've checked up front.

This patch gets the version from the SDKSettings.plist file at the root
of the SDK directory, and checks it against min and max supported
versions.

The current min version is 10.11, since that is what we build with in
automation. The current max version is 10.13, since 10.14+ currently has
an issue with a black screen at startup.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 19:59:23 +00:00
Mike Hommey da8c7ce8ed Bug 1515528 - Prefer MSVC when building for aarch64 windows. r=froydnj
Depends on D15264

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:33 +00:00
Mike Hommey 9936784a53 Bug 1515528 - Detect MSVC paths separately for host and target. r=chmanchester
Because MSVC compilers only support one architecture, we need to search
"cl" in different toolchain search paths for each of the host and
target, especially when they are different.

Likewise for the library paths for the linker. Ideally we'd pass
-LIBPATH both for host and target, but that has implications for rust
that I don't want to have to figure just now.

Depends on D15263

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:31 +00:00
Mike Hommey f90954f379 Bug 1515528 - Fix VC paths for arm64. r=froydnj
Depends on D15262

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:29 +00:00
Mike Hommey 9a0967dc5d Bug 1515579 - Use absolute paths for compilers, etc. r=ted
In bug 1259382, some workarounds were added to make the build system
alter PATH and not use absolute paths for toolchain programs, because
autoconf and the build system doesn't deal with spaces in those very
well. But later in bug 1290040, we made find_program return Windows
short paths (without spaces), which alleviates the need for those
workarounds.

We still, however, and unfortunately, need to alter PATH to account for
the fact that MSVC DLLs are not necessarily alongside the compiler
executables...

Depends on D15181

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

--HG--
extra : moz-landing-system : lando
2019-01-10 23:37:46 +00:00
Mike Hommey 65e1e6bb41 Bug 1519040 - Remove some unused old-configure assignments. r=mshal
Differential Revision: https://phabricator.services.mozilla.com/D16159

--HG--
extra : moz-landing-system : lando
2019-01-10 22:02:04 +00:00
Mike Hommey 8153f29959 Bug 1519012 - Move most PGO-related configure flags back to toolchain.configure. r=froydnj
LLVM_PROFDATA needs the toolchain search dir, per bug 1515579.

Also, most of the options actually don't do anything useful with
artifact builds. In fact, the only one that artifact builds would need
is MOZ_PGO. So we move to options back to toolchain.configure, somewhere
late enough ; except MOZ_PGO, that we move to the top-level
moz.configure (because we don't need a separate file for one option).

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

--HG--
extra : moz-landing-system : lando
2019-01-10 14:25:12 +00:00
Chris Manchester b101c5a8f3 Bug 1517532 - Extend artifact builds to find and download artifacts from pgo builds when MOZ_PGO is set. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15988

--HG--
extra : moz-landing-system : lando
2019-01-08 23:03:27 +00:00
Mike Hommey 0e386d3190 Bug 1517419 - Pass AR down to js configure. r=froydnj
This is a followup for bug 1515595.

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

--HG--
extra : moz-landing-system : lando
2019-01-08 16:10:06 +00:00
Chris Manchester 0ef0b54bfb Bug 1507344 - Add a configure option for JARLOG_FILE in profile use builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D13917

--HG--
extra : moz-landing-system : lando
2018-12-21 19:05:44 +00:00
Chris Manchester 0851ff9f4a Bug 1507344 - Add configure machinery for MOZ_PROFILE_USE and merging profile. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D13863

--HG--
extra : moz-landing-system : lando
2018-12-21 19:02:11 +00:00
Chris Manchester 25e14c4f13 Bug 1507338 - Add a configure option for MOZ_PROFILE_GENERATE. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D12999

--HG--
extra : moz-landing-system : lando
2019-01-03 16:16:38 +00:00
Razvan Maries 196ea35cdf Backed out 2 changesets (bug 1515579) for causing bugs: 1516228, 1516090, 1516253. a=backout
Backed out changeset fcf2cca505d4 (bug 1515579)
Backed out changeset 1d645417b082 (bug 1515579)
2018-12-25 00:48:43 +02:00
Mike Hommey cc04049ca0 Bug 1515579 - Use absolute paths for compilers, etc. r=ted
In bug 1259382, some workarounds were added to make the build system
alter PATH and not use absolute paths for toolchain programs, because
autoconf and the build system doesn't deal with spaces in those very
well. But later in bug 1290040, we made find_program return Windows
short paths (without spaces), which alleviates the need for those
workarounds.

We still, however, and unfortunately, need to alter PATH to account for
the fact that MSVC DLLs are not necessarily alongside the compiler
executables...

Depends on D15181

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

--HG--
extra : moz-landing-system : lando
2018-12-21 23:05:40 +00:00
Mike Hommey fd4343007c Bug 1515595 - Move AR to python configure. r=froydnj
Depends on D15179

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

--HG--
extra : moz-landing-system : lando
2018-12-21 22:53:53 +00:00
Margareta Eliza Balazs 413dd3a1fa Merge inbound to mozilla-central. a=merge 2018-12-21 11:37:24 +02:00
Narcis Beleuzu fa87e17c27 Backed out 2 changesets (bug 1485016, bug 1512921) as requested by tjr.
Backed out changeset 61ae84746b34 (bug 1485016)
Backed out changeset 585f7d2135ee (bug 1512921)
2018-12-21 05:59:24 +02:00
Mike Hommey 6e8b8a5fad Bug 1515581 - Move RC and WINDRES to python configure. r=nalexander
Remove the version check for WINDRES, because, as per bug 454112, it
didn't actually work, and, making it work actually causes problems
because llvm's windres, used with mingw clang, has version 0.1.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 22:25:24 +00:00
Mike Hommey b065844d33 Bug 1515550 - Search all MSVC products for the compiler components. r=ted
vswhere only searches in Community, Professional and Enterprise, but one can
also install BuildTools only, which has a different product name.

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

--HG--
extra : moz-landing-system : lando
2018-12-20 21:53:14 +00:00
Mike Hommey 298b2de7c1 Bug 1515604 - Fix artifact builds after bug 1513798. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15079

--HG--
extra : moz-landing-system : lando
2018-12-20 18:50:04 +00:00
Tom Ritter c014980a9a Bug 1485016 - Enable CFG for Windows builds. r=froydnj 2018-12-07 10:54:41 -06:00
Dorel Luca 176695a3b3 Backed out changeset 7e548edaf318 (bug 1485016) for build bustage 2018-12-19 10:39:10 +02:00
Tom Ritter e7f646df03 Bug 1485016 - Enable CFG for Windows builds r=froydnj 2018-12-07 10:54:41 -06:00
Mike Hommey 7f87f1f891 Bug 1513798 - Automatically set -syslibroot for OSX cross-builds from configure. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14384
2018-12-18 10:50:16 +09:00
Mike Hommey e580fcbf31 Bug 1513798 - Expose the linker kind to moz.build. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14383
2018-12-18 10:50:15 +09:00
Mike Hommey 6d3046658e Bug 1513798 - Move --with-macos-{sdk,private-frameworks} to python configure. r=nalexander
Because we now set the sysroot include flags early in python configure,
we don't need to set CPP/CXXCPP. We also skip the explicit compiler test
because more complete tests follow anyways.

Differential Revision: https://phabricator.services.mozilla.com/D14380
2018-12-18 10:50:12 +09:00
Mike Hommey 0edc1f6452 Bug 1513798 - Simplify the handling of --enable-macos-target. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14379
2018-12-18 10:50:11 +09:00
Mike Hommey 98cdb52421 Bug 1513798 - Automatically set TOOLCHAIN_PREFIX when cross-compiling for OSX. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D14377
2018-12-18 10:50:09 +09:00
Emilio Cobos Álvarez 879d99e739 Bug 1513009 - Deny Rust warnings on automation. r=ted
Summary:
I've chosen linux64-debug since it's the most visible build I usually do, but I
could do another build task or something, or use the static analysis builds, or
what not. Just let me know if there's a better way to do this.

Caveat: This might make updating Rust toolchains a bit more painful. I think
this is better and we should just deal with warnings before updating toolchains,
but I don't know if there'd be strong opposition to that.

Note that this does _not_ affect third-party code since Cargo passes
`--cap-lint warn` automatically for those.

Proof that it works:

 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=4ad1e4e1392f71b574cff683e90c7b13bf8781d1
 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=57604f92624bbe49037eee87c56fdb6bf2b5017d

Reviewers: #firefox-build-system-reviewers, ted

Reviewed By: #firefox-build-system-reviewers, ted

Subscribers: reviewbot, glandium, ted

Bug #: 1513009

Differential Revision: https://phabricator.services.mozilla.com/D14083
2018-12-14 23:35:47 +01:00
Mike Hommey c2b01ab3f1 Bug 1514089 - Move fxc and wine detection to toolkit/moz.configure. r=froydnj
They are not necessary to build e.g. standalone spidermonkey.

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

--HG--
extra : moz-landing-system : lando
2018-12-14 14:56:04 +00:00
Gurzau Raul 3189fe85e8 Backed out changeset 8e348821b49f (bug 1513009) due to build compile failure on a CLOSED TREE 2018-12-14 01:56:43 +02:00
Emilio Cobos Álvarez d29a39cdfd Bug 1513009 - Deny Rust warnings on automation. r=firefox-build-system-reviewers,ted
I've chosen linux64-debug since it's the most visible build I usually do, but I
could do another build task or something, or use the static analysis builds, or
what not. Just let me know if there's a better way to do this.

Caveat: This might make updating Rust toolchains a bit more painful. I think
this is better and we should just deal with warnings before updating toolchains,
but I don't know if there'd be strong opposition to that.

Note that this does _not_ affect third-party code since Cargo passes
`--cap-lint warn` automatically for those.

Proof that it works:

 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=4ad1e4e1392f71b574cff683e90c7b13bf8781d1
 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=57604f92624bbe49037eee87c56fdb6bf2b5017d

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

--HG--
extra : moz-landing-system : lando
2018-12-13 19:17:31 +00:00
Thomas Daede 427d23f3d7 Bug 1512462 - Only use nasm when explicitly requested. r=firefox-build-system-reviewers,mshal
This is needed because ffvpx does not build with nasm on win64.

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

--HG--
extra : moz-landing-system : lando
2018-12-13 15:40:17 +00:00
Mike Hommey ab48d17e1a Bug 1513134 - Detect unnecessary --help dependencies. r=firefox-build-system-reviewers,gps
Depends on D14125

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

--HG--
extra : moz-landing-system : lando
2018-12-11 19:34:28 +00:00
Gian-Carlo Pascutto 4a38adb0a1 Bug 1503589 - Enable strong stack protector by default. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D11522

--HG--
extra : moz-landing-system : lando
2018-11-30 07:45:23 +00:00
Thomas Daede dbd2f83eeb Bug 1508419 - Gracefully fail if nasm doesn't print version. r=firefox-build-system-reviewers,mshal
This is required on Mac, where there is a dummy nasm executable
that prints an error if the real nasm isn't found.

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

--HG--
extra : moz-landing-system : lando
2018-11-26 16:13:48 +00:00
Thomas Daede 9735214d9a Bug 1501796 - Use nasm when yasm is requested. r=firefox-build-system-reviewers,mshal
Includes changes to support nasm's stricter include paths.

Supports falling back to yasm if nasm is missing.

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

--HG--
extra : moz-landing-system : lando
2018-11-16 01:20:58 +00:00
Cosmin Sabou df8f8b9ca2 Backed out changeset 40d197664391 (bug 1503589) for causing windows MinGW build bustages. CLOSED TREE 2018-11-15 12:32:54 +02:00
Gian-Carlo Pascutto 17e73a2dcc Bug 1503589 - Enable strong stack protector by default. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D11522

--HG--
extra : moz-landing-system : lando
2018-11-13 05:04:45 +00:00
Thomas Daede ede80683a6 Bug 1501796 - Check for nasm in configure script. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D9854

--HG--
extra : moz-landing-system : lando
2018-11-07 00:26:15 +00:00
Tooru Fujisawa f3452023f8 Bug 1492716 - Part 2.1: Support empty string in help formatting rule and fixed some more cases. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D9631
2018-10-24 18:04:00 +09:00
Tooru Fujisawa a5e176836f Bug 1492716 - Part 1: Stop using default=True for --enable-* or --with-* configure options. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D8833
2018-10-16 20:28:12 +09:00
David Major 18aa17e2f6 Bug 1502095 - Set the right target when building aarch64-windows with clang-cl r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D9804

--HG--
extra : moz-landing-system : lando
2018-10-25 16:52:44 +00:00
Margareta Eliza Balazs c56977420d Merge inbound to mozilla-central. a=merge 2018-10-18 13:20:43 +03:00
Nick Alexander d56eb2a314 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
-Wl,--version-script based on linker kind and not on the output of
$LINKER -v.

This is a cheap way to address a simple problem that has a complicated
ideal solution. The underlying issue is that in some situations, when
targeting Android, a macOS system ld is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation. The macOS system ld doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system ld.

The ideal solution is to test for linker capabilities dynamically. We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure. Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

MinGW suffers somewhat from the opposite problem: the linker "is GNU
ld" (compatible), but the linker checks don't happen at all. We hard-code
for MinGW based on the C compiler instead.

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

--HG--
extra : moz-landing-system : lando
2018-10-17 19:46:03 +00:00
Tom Ritter 15dd23bc5d Bug 1475562 Produce pdbs for the mingw-clang build job r=ted
This patch also changes how pdbs for the ASAN job are copied:
we relax restrictions so that pdbs if present) are always copied out
and add an environment variable MOZ_COPY_PDBS to indicate when we
want to produce pdbs for copying.
2018-10-17 09:38:52 -05:00
Benjamin Bouvier db0cd81fb4 Bug 1495669: Share bindgen flags globally; r=emilio, r=froydnj
--HG--
extra : rebase_source : 83bfa2a61e523048d0e618ed5920c4aa143a2582
extra : histedit_source : cfc8de67959c5a2dffc5fea3ee5be172bfc370e1%2C53a6b4c0de444b4a7ee04cdd015568069bca893a
2018-10-09 15:01:52 +02:00
Cosmin Sabou 9b6a537ec7 Backed out changeset 91300d29898b (bug 1489443) for MinGW build bustages. CLOSED TREE 2018-10-13 02:17:15 +03:00
Nick Alexander 3c83541616 Bug 1489443 - Set GCC_USE_GNU_LD based on linker kind. r=froydnj
The desired outcome of this change is that we'll set
`-Wl,--version-script` based on linker kind and not on the output of
`$LINKER -v`.

This is a cheap way to address a simple problem that has a complicated
ideal solution.  The underlying issue is that in some situations, when
targeting Android, a macOS system `ld` is interrogated to determine if
a cross-compiling linker "is GNU ld" and a particular linker feature
is set in that situation.  The macOS system `ld` doesn't pass the "is
GNU ld" test, and the linker feature isn't set; that causes link
failures, even though the actual linker has nothing to do with the
system `ld`.

The ideal solution is to test for linker capabilities dynamically.  We
do a lot of that in old-configure.in, and we don't do any of that in
toolchain.configure.  Rather than start testing in
toolchain.configure, we hard-code: a cheap solution to the immediate
problem.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 22:38:44 +00:00
Mike Hommey 148c9de331 Bug 1498450 - Avoid the footgun from @depends-function comparison r=froydnj
While we do have some uses of @depends-function comparison in some
templaces, related to host/target, we ought to be using `is` comparisons
rather than `==` anyways, so we switch those, and prevent other kinds of
comparisons being used at all.

This unveils the one noted in
https://phabricator.services.mozilla.com/D7713?id=21357#inline-30414
(and surprisingly only that one), that we remove entirely since it was
doing nothing in practice. Bug 1492305 will have to add it back in a
proper form.

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

--HG--
extra : moz-landing-system : lando
2018-10-12 13:44:08 +00:00