Commit Graph

7817 Commits

Author SHA1 Message Date
Mike Hommey
482de8b58a Bug 1519308 - Try toolchain-prefixed pkg-config. r=froydnj
When doing cross-compiles for Desktop, system pkg-config is going to be
looking for .pc files for the host, but systems setup for cross-compiles
come with a toolchain-prefixed pkg-config, which we should be looking
for.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 23:56:19 +00:00
Dorel Luca
075a44c23b Backed out changeset 24243f13c895 (bug 1519308) for build bustage in mozbuild/mozbuild/test/configure/test_checks_configure.py. CLOSED TREE 2019-01-12 01:28:30 +02:00
Mike Hommey
fe50d1eef4 Bug 1519308 - Try toolchain-prefixed pkg-config. r=froydnj
When doing cross-compiles for Desktop, system pkg-config is going to be
looking for .pc files for the host, but systems setup for cross-compiles
come with a toolchain-prefixed pkg-config, which we should be looking
for.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 15:54:51 +00:00
Mike Hommey
9f9340299c Bug 1257904 - Remove YASM_MAJOR_VERSION/YASM_MINOR_VERSION. r=firefox-build-system-reviewers,mshal
They are entirely unused now.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 16:23:19 +00:00
Mike Hommey
94ff361bf4 Bug 1519325 - Move D3D compiler DLL detection to python configure. r=froydnj
MOZ_D3D_CPU_SUFFIX and MOZ_HAS_WINSDK_WITH_D3D are not used in the
build, and nothing includes d3d10.h except some angle code in a
preprocessed branch that is only taken for a macro we never define,
so we don't move the code corresponding to those. We also simplify the
detection code, which is convoluted now that it doesn't search for
multiple different DLLs.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 22:21:24 +00:00
Mike Hommey
fd2ad54c49 Bug 1519319 - Move cbindgen check to bindgen.configure. r=froydnj
Depends on D16292

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

--HG--
extra : moz-landing-system : lando
2019-01-11 15:42:07 +00:00
Mike Hommey
3ad65a7f86 Bug 1519319 - Use toolchain_search_path to look for rust toolchains. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16292

--HG--
extra : moz-landing-system : lando
2019-01-11 15:48:20 +00:00
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
f47fd953a2 Bug 1519281 - Remove leftovers from bug 1490765. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16269

--HG--
extra : moz-landing-system : lando
2019-01-11 05:02:07 +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
f4de6ab03a Bug 1515528 - Prefer link to lld-link when building with msvc rather than clang-cl. r=froydnj
While it was preferable to use lld-link with msvc for performance
reasons when we defaulted to compile with msvc, now that we build with
clang-cl by default, it's now better to use msvc's linker when using
msvc's compiler, especially for aarch64, which is the last place where
we actually need msvc.

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

--HG--
extra : moz-landing-system : lando
2019-01-11 00:20:26 +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
546e2487aa Bug 1515579 - Add some mk_export_correct_style to win64-aarch64 mozconfig. r=ted
Like for other windows platforms. This currently doesn't make a
difference, but will with next change.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 08:36:40 +00:00
Mike Hommey
516c65acec Bug 1519042 - Remove OS_TEST. r=ted
Depends on D16162

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

--HG--
extra : moz-landing-system : lando
2019-01-10 22:06:12 +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
Mike Hommey
a0b6688faa Bug 1518726 - Apply https://reviews.llvm.org/D56475 to clang. r=froydnj
Firefox uses multiple processes. It has intentional leaks, and when
running with ASAN, we have suppressions to eliminate those. When running
ASAN builds through CI tests, when Firefox exits, each of the processes
(parent and child) exits and goes through its leaks and when there are
(which is a given), the ASAN runtime runs llvm-symbolizer to symbolicate
and match against suppressions. So each process runs llvm-symbolizer. At
the same time.

Some of the addresses to symbolicate are in libxul. Which contains all
DWARF info, making it a ~1GB monster. Oh, and because you're lucky,
things align perfectly such that libxul size is a multiple of the page
size. That makes llvm-symbolizer pread() the file instead of mmap()ing
it. Did I say there are multiple processes? So suddenly you have n
processes simultaneously allocating and filling 1GB of memory each, on
CI machines that have enough memory for the job they usually run, but
not enough for a sudden rush of n GB.

And things go awry. When you're lucky and the OOM killer didn't take
care of killing the CI entirely, symbolication couldn't happen and the
suppressions are not matched, and leaks are reported.

This all turns out it originates in how llvm-symbolicate chooses between
pread() and mmap(), which turns out is just defaults not being made for
binary files.

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

--HG--
extra : moz-landing-system : lando
2019-01-10 00:18:28 +00:00
Mike Hommey
3dc15d5c35 Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2019-01-09 23:01:46 +00:00
Cosmin Sabou
d6a8d4942e Backed out changeset 4728285e13e4 (bug 1516374) for causing coverage build bustages. a=backout 2019-01-09 18:34:05 +02:00
Mike Hommey
d1371b35a2 Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2019-01-09 09:20:15 +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
Mike Shal
514145c3fb Bug 1518170 - Always upload profile run output; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers
In bug 1514288 we started to save the output from running Firefox during
PGO builds into log files, but they aren't correctly uploaded if the run
fails. This presents a problem for categorizing failed PGO builds if the
profileserver returns an error code (eg: bug 1517939), since the error
messages could be hidden away in log files that aren't uploaded.

Instead, we can generate them directly into the artifacts directory so
that they are always uploaded. Additionally, the log files are displayed
if the run fails so that the error messages are displayed in the log for
easier bug categorization.

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

--HG--
extra : moz-landing-system : lando
2019-01-08 17:28:36 +00:00
Emilio Cobos Álvarez
1834c20f36 Bug 1518045 - Make Servo use a single thread-pool for layout-related tasks per-process. r=jdm
Instead of per-document. This also allows to reuse this thread-pool if needed
for other stuff, like parallel CSS parsing (#22478), and to share more code with
Gecko, which is always nice.

This cherry-picks https://github.com/servo/servo/pull/22487, with a few minor
fixes to the build that are landing as part of the sync associated to this bug,
and an lsan exception tweak to point to the right module since it's moving.
2019-01-07 00:53:04 +01:00
Nick Alexander
0205519c44 Bug 1517882 - Fix x86_64 artifact builds in automation. r=froydnj
Depends on D15769

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

--HG--
extra : moz-landing-system : lando
2019-01-05 14:34:01 +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
Mike Shal
c8ed2cda78 Bug 1514288 - save profile run output to log files rather than stdout; r=chmanchester
The output from running the browser during PGO builds can have innocuous
error messages in them, but show up in treeherder as potential messages
to include when filing bugs. We can just save the output from these runs
as files and upload them as artifacts instead, so they don't show up in
the build log but are available for inspection if necessary.

MozReview-Commit-ID: 3VdVCKVkZNI

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

--HG--
extra : moz-landing-system : lando
2019-01-03 18:18:02 +00:00
Geoff Brown
308d1fcb22 Bug 1517169 - Ensure Android remote test log is deleted before launching test app; r=bc 2019-01-02 09:50:36 -07:00
Dustin J. Mitchell
c2ecf453ff Bug 1492664 - vendor taskcluster-urls; r=gps
--HG--
extra : rebase_source : a64effde0530bcf5c3a3095745b0e7a749d75dbd
extra : source : 0699d3873e440453ce7d5cc7c398a1d076b92033
2018-09-24 16:53:45 +00:00
Chris Manchester
ccddf2ca6c Bug 1515512 - Require rustc 1.31. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D15396

--HG--
extra : source : f162598ad12cd59e1f653c541e6786b715b144fd
2018-12-27 02:22:54 +00:00
Ciure Andrei
c1b788ba04 Backed out 1 changesets (bug 1516374) for causing Linux asan browser chrome exceptions CLOSED TREE
Backed out changeset 4474a7665e47 (bug 1516374)
2018-12-27 08:17:10 +02:00
Cosmin Sabou
c3c97ee7de Backed out changeset f162598ad12c (bug 1515512) on the suspicion of causing Linux asan browser chrome exceptions. 2018-12-27 07:43:08 +02:00
Chris Manchester
ac40054b22 Bug 1515512 - Require rustc 1.31. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D15396

--HG--
extra : moz-landing-system : lando
2018-12-27 02:22:54 +00:00
Mike Hommey
242f814d8a Bug 1516374 - Upgrade clang to 7.0.1. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D15346

--HG--
extra : moz-landing-system : lando
2018-12-27 00:49:54 +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
46c52c3f0f Bug 1515579 - Add some mk_export_correct_style to win64-aarch64 mozconfig. r=ted
Like for other windows platforms. This currently doesn't make a
difference, but will with next change.

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

--HG--
extra : moz-landing-system : lando
2018-12-21 23:03:13 +00:00
Mike Hommey
c683c549a5 Bug 1515852 - Move --with-system-jpeg to python configure. r=froydnj
We remove --disable-libjpeg-turbo because that's only useful when Yasm
is too old, and the required version is now almost 8 years old, so we
can reasonably require people to upgrade rather than workaround with a
--disable option.

The valid_yasm_version function can seem overkill, but that's because
future moves of other things to python configure will pile up.

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

--HG--
extra : moz-landing-system : lando
2018-12-21 15:47:22 +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
Mike Hommey
eb8e6cb9c3 Bug 1515843 - Remove HOST_AR/HOST_RANLIB. r=ted
Now that we're not even building host static libraries, we don't need
variables for the tools used to build them.

Ironically, we weren't even running HOST_RANLIB.

Depends on D15172

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

--HG--
extra : moz-landing-system : lando
2018-12-21 23:00:17 +00:00
Mike Hommey
be475da6db Bug 1515566 - Allow to only give a CPU type to configure's --target. r=chmanchester
So far, the main subject of cross-compiles was to cross compile from one
OS to another (e.g. {linux,osx} -> android), but there are a few useful
cases where the OS doesn't change, and, with --host being guessed, we
can just have developers pass --target=$cpu instead of a complete
target triplet. This can be useful to do x86 Linux builds on x86-64
Linux hosts, or aarch64 Windows builds on x86-64 Windows hosts.

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

--HG--
extra : moz-landing-system : lando
2018-12-21 22:57:42 +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
1c2fec65c2 Bug 1515504 - Fix the path we check version.txt/version_display.txt under in non-browser projects. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D15027

--HG--
extra : moz-landing-system : lando
2018-12-20 03:52:29 +00:00