Commit Graph

7833 Commits

Author SHA1 Message Date
Mike Hommey
1e15ba1bf0 Bug 1520369 - Remove subconfigure cache clearing. r=froydnj
The code only actually handles autoconf 2.5 cache, and was useful when
we have such subconfigures, that would die when things changed in ways
that would make the subconfigure abort on its own. But we have no such
things left, and while we may want to clear the cache for old-configure
(for e.g. bug 1520232), this is not helping to get there.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 23:15:41 +00:00
Mike Hommey
9a8ac178e9 Bug 1520340 - Don't execute subconfigure as a separate process. r=froydnj
Instead, include the module and inline its main function.

Depends on D16622

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

--HG--
extra : moz-landing-system : lando
2019-01-16 15:21:27 +00:00
Mike Hommey
b5e5928355 Bug 1520340 - Move subconfigure invocation from old-configure to python configure. r=froydnj
This happens to remove the last use of perl from configure.

Depends on D16621

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

--HG--
extra : moz-landing-system : lando
2019-01-16 23:12:20 +00:00
Mike Hommey
3512597192 Bug 1520340 - Split prepare_configure and old_configure. r=froydnj
So that individual parts can be reused downstream.

Depends on D16620

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

--HG--
extra : moz-landing-system : lando
2019-01-16 15:14:10 +00:00
Mike Hommey
c374d6cb17 Bug 1520340 - Move old_configure_assignments formatting to prepare_configure. r=froydnj
Depends on D16619

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

--HG--
extra : moz-landing-system : lando
2019-01-16 23:06:41 +00:00
Mike Hommey
661caa5a30 Bug 1520340 - Normalize old_configure's result earlier. r=froydnj
Depends on D16618

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

--HG--
extra : moz-landing-system : lando
2019-01-16 14:58:30 +00:00
Mike Hommey
13b49eda02 Bug 1520340 - Use js_options instead of exported variables from old-configure for a few variables. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16618

--HG--
extra : moz-landing-system : lando
2019-01-15 23:33:47 +00:00
Mike Hommey
5215f57b1d Bug 1520108 - Move MOZ_CONFIGURE_OPTIONS to toolkit/moz.configure. r=froydnj
It is only used to fill about:buildconfig.

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

--HG--
extra : moz-landing-system : lando
2019-01-15 15:28:00 +00:00
Mike Hommey
eb75a7a831 Bug 1519603 - Remove the File class in subconfigure.py. r=nalexander
The File class is now used only in one place, only for its mtime
property, which can be replaced with os.path.getmtime.

Depends on D16402

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:41:07 +00:00
Mike Hommey
09ed4d67e7 Bug 1519603 - Hardcode js/src into subconfigure.py. r=nalexander
Because subconfigure.py is only used for js/src and we're not going to
add any more subconfigures, we can hardcode js/src into the script, and
remove the branches that aren't taken as a consequence.

Depends on D16382

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:40:41 +00:00
Mike Hommey
4a50a75dd9 Bug 1519603 - Run build/subconfigure.py in one pass. r=nalexander
It was useful to run the prepare phase and the actual subconfigure
separately, but it's not anymore after all the recent simplications.

Depends on D16381

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:39:12 +00:00
Mike Hommey
95bcdbeaaa Bug 1519603 - Manually inline AC_OUTPUT_SUBDIRS and MOZ_RUN_ALL_SUBCONFIGURES. r=nalexander
Because we only ever run one subconfigure, the machinery to execute
several is not useful anymore. Inlining it allows to simplify the code
too, because it doesn't need to be generic anymore. This also removes
the last remaining bits of acwinpaths.m4.

Also remove now unused support for --list in build/subconfigure.py.

Depends on D16380

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:37:06 +00:00
Mike Hommey
6c7b4555f5 Bug 1519603 - Remove dead code in build/subconfigure.py. r=nalexander
We only run it for js/src now, so get_config_files always returns empty lists.

Depends on D16378

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

--HG--
extra : moz-landing-system : lando
2019-01-14 18:33:33 +00:00
Mike Hommey
b90adcbaef Bug 1519603 - Remove unused autoconf macros. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D16378

--HG--
extra : moz-landing-system : lando
2019-01-14 13:59:23 +00:00
Mike Hommey
106cde5e98 Bug 1519744 - Remove MOZ_GLUE_WRAP_LDFLAGS. r=dmajor
It's been unused since NUWA was removed in bug 1284674.

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

--HG--
extra : moz-landing-system : lando
2019-01-14 16:58:34 +00:00
Emilio Cobos Álvarez
d133439037 Bug 1519501 - Update min cbindgen version. r=dmajor
We need this to properly generate the WR bindings.

Also update the comment since the check was recently moved.

Differential Revision: https://phabricator.services.mozilla.com/D16398
2019-01-14 13:44:27 +01:00
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