Commit Graph

972 Commits

Author SHA1 Message Date
Mike Hommey
96f7f533a2 Bug 1516228 - Add a configure check for llvm-objdump. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D17462

--HG--
extra : moz-landing-system : lando
2019-01-24 15:33:47 +00:00
David Major
820c1361b4 Bug 1512822 - Use clang-cl rather than MSVC for aarch64 builds r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D17021

--HG--
extra : moz-landing-system : lando
2019-01-24 15:08:50 +00:00
David Major
90b4b511f2 Bug 1521129 - Bump clang-cl to 8.0.0 rc1 r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D17009

--HG--
rename : build/build-clang/r342652-unpoison-thread-stacks.patch => build/build-clang/unpoison-thread-stacks.patch
extra : moz-landing-system : lando
2019-01-24 15:03:52 +00:00
Chris Manchester
0b6bacd1ad Bug 1521463 - Show rustc info in about:buildconfig r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D17305

--HG--
extra : moz-landing-system : lando
2019-01-23 20:15:14 +00:00
Mike Hommey
3567be6105 Bug 1521691 - Move the remains of CC_VERSION to python configure. r=chmanchester
which, at this point, is only the AC_SUBST, so we don't even need to
give it to old-configure anymore.

Depends on D17207

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

--HG--
extra : moz-landing-system : lando
2019-01-23 00:27:38 +00:00
shindli
2aae270ee0 Backed out 2 changesets (bug 1521691) for bustages in clang-plugin.dll CLOSED TREE
Backed out changeset 09e1109d2350 (bug 1521691)
Backed out changeset cfee3de00f12 (bug 1521691)
2019-01-23 00:51:59 +02:00
Mike Hommey
f2798e8385 Bug 1521691 - Move the remains of CC_VERSION to python configure. r=chmanchester
which, at this point, is only the AC_SUBST, so we don't even need to
give it to old-configure anymore.

Depends on D17207

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

--HG--
extra : moz-landing-system : lando
2019-01-22 22:26:28 +00:00
Mike Hommey
aa2783bf67 Bug 1521284 - Don't hardcode config.log path in old-configure. r=nalexander
Because old-configure is only refreshed when, essentially,
old-configure.in changes, hardcoded (absolute) paths don't necessarily
match the build environment of the current build.

So instead, use an environment variable that we pass from python
configure when invoking old-configure.

Also do dummy changes to old-configure.in so that old-configure is
refreshed at least once to get the environment-based value.

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

--HG--
extra : moz-landing-system : lando
2019-01-21 17:32:11 +00:00
Margareta Eliza Balazs
9dda825205 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-01-18 12:31:59 +02:00
Mike Hommey
622e7208be Bug 1520393 - Use proper defaults for --enable-jemalloc and --enable-replace-malloc. r=nalexander
Back when those were added, option defaults could not indirectly depend
on `target` or `host`, but that changed with bug 1322025.

As a side effect, this allows to turn them into straight js_options
without resorting to the manual add_old_configure_arg.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 21:52:01 +00:00
Tom Ritter
3a99ace175 Bug 1520308 - Enable ASLR for mingw-clang builds. r=froydnj 2019-01-14 18:49:23 -06:00
Ted Mielczarek
3ca4c1c35e bug 1459991 - embed Rust's natvis files into xul.pdb on Windows. r=froydnj
Rust ships with some natvis files that enable nicer display of Rust standard
library types in Microsoft's debuggers. rustc will add the right linker
options to include them when it invokes the linker but since we don't link
libxul with rustc we need to explicitly pass them to the linker ourselves.

This change locates all natvis files in the Rust sysroot and adds them
to the libxul link line.

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

--HG--
extra : moz-landing-system : lando
2019-01-15 13:56:07 +00:00
Mike Hommey
1aeaa7d4ef Bug 1520730 - Normalize the config log path before writing it in old-configure. r=froydnj
Add a dummy change to old-configure.in so that old-configure is
force-refreshed.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 13:54:41 +00:00
Brindusan Cristian
48d1db1217 Backed out changeset 263e45bdcd59 (bug 1520393) for build bustages on memory/replace/logalloc/replay/target. CLOSED TREE 2019-01-17 09:15:11 +02:00
Mike Hommey
f610fdcf5a Bug 1520393 - Use proper defaults for --enable-jemalloc and --enable-replace-malloc. r=nalexander
Back when those were added, option defaults could not indirectly depend
on `target` or `host`, but that changed with bug 1322025.

As a side effect, this allows to turn them into straight js_options
without resorting to the manual add_old_configure_arg.

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

--HG--
extra : moz-landing-system : lando
2019-01-17 06:49:10 +00:00
Mike Hommey
e59496dbb9 Bug 1520410 - Make --host/--target alter the output from configure --help. r=nalexander
Before bug 1322025, running configure --help along --host and/or
--target would show the options that are specific to the
host/target/cross-compilation (e.g. those with when=target_is_windows)
which was convenient. Bug 1322025 unfortunately broke that, and this
restores the feature.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:20:22 +00:00
Mike Hommey
e7713397bc Bug 1520402 - Require the android NDK when targetting Android, not when building Fennec. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16671

--HG--
extra : moz-landing-system : lando
2019-01-17 04:14:50 +00:00
Mike Hommey
19f8d4666d Bug 1520677 - Remove unnecessary --help dependencies in python configure. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D16777

--HG--
extra : moz-landing-system : lando
2019-01-17 03:34:54 +00:00
Cosmin Sabou
ef43695ad2 Backed out changeset 9a00f3b44547 (bug 1520393) for causing build bustages. CLOSED TREE 2019-01-17 02:31:55 +02:00
Mike Hommey
e9b94b7a29 Bug 1520394 - Don't hard code log file name for old-configure. r=nalexander
Instead, use the actual log file name as configured through python
logging. This doesn't make a practical difference now, but will when
subconfigure logs to the toplevel log.

Depends on D16666

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:29:15 +00:00
Mike Hommey
dc49c33546 Bug 1520394 - Restore logging to file after running old-configure. r=nalexander
We're going to want to log some more. At the moment, this just adds the
output of subconfigure to top-level config.log, but this will become
more useful down the road.

Depends on D16665

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:27:53 +00:00
Mike Hommey
b3068819c5 Bug 1520394 - Send old-configure output through logging. r=nalexander
Rather than letting it go through to sys.stdout/sys.stderr directly.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 21:44:42 +00:00
Mike Hommey
4d694bd47f Bug 1520393 - Use proper defaults for --enable-jemalloc and --enable-replace-malloc. r=nalexander
Back when those were added, option defaults could not indirectly depend
on `target` or `host`, but that changed with bug 1322025.

As a side effect, this allows to turn them into straight js_options
without resorting to the manual add_old_configure_arg.

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

--HG--
extra : moz-landing-system : lando
2019-01-16 20:25:21 +00:00
Cosmin Sabou
18aa3b4cff Backed out changeset bc6c2b781953 (bug 1520402) for Linux build bustages on test_toolchain_configure. CLOSED TREE 2019-01-17 02:06:08 +02:00
Mike Hommey
3ea720d026 Bug 1520402 - Require the android NDK when targetting Android, not when building Fennec. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D16671

--HG--
extra : moz-landing-system : lando
2019-01-16 23:26:51 +00:00
Mike Hommey
032bdb105e Bug 1520369 - Remove --no-create. r=froydnj
It actually does nothing anymore.

Depends on D16636

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

--HG--
extra : moz-landing-system : lando
2019-01-16 15:23:51 +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
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
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
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
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