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

280 Коммитов

Автор SHA1 Сообщение Дата
Nathan Froyd e2773ad4fd Bug 1397263 - move ASOUTOPTION to moz.configure; r=mshal 2018-10-03 20:29:29 -04:00
Ted Mielczarek 5beac189a8 Bug 1397263 - move GNU_AS checks to toolchain.configure; r=glandium
The GNU_AS check in old-configure depended on running with the value
of $AS before it gets reset to just be the C compiler, which breaks when
we move setting AS into moz.configure.

This patch moves the GNU_AS check to toolchain.configure and changes it
so that it works when the assembler is the C compiler.  We do have to
fix things slightly for clang, because the previous check was
succeeding, but not because of clang: it was detecting the presence of
"GNU" in the output for GNU ld/gold and a message about the GNU GPL.
2018-10-03 20:29:29 -04:00
Nathan Froyd 9a1e9149b8 Bug 1397263 - move AS checks to toolchain.configure; r=glandium
This is a fairly straightforward port of the AS tool checks from old-configure
to toolchain.configure. AS is a little quirky in that we currently do a
normal-looking check for it, but then override that value to be the C compiler
for non-Windows builds, and ml[64]/armasm64 for Windows builds.

After migrating those checks, the only things left in the MOZ_DEFAULT_COMPILER
macro in compiler-opts.m4 were some unused bits, so I removed them:
* Setting of CPP/CXXCPP, which are set in toolchain.configure now
* Setting HOST_LDFLAGS to empty, which doesn't seem particularly useful.

There was also a quirky old test that the assembler was ml[64] when js-ctypes
is enabled that I removed, I don't think it provides any value since this
patch will ensure that we're using the right assembler for Windows builds.
2018-10-03 20:29:29 -04:00
Benjamin Bouvier 2ab4b1419f Bug 1490948: Add support for extra bindgen flags when compiling Cranelift; r=froydnj
Some build flags are being passed by the build system: they're passed in a text
file called extra-bindgen-flags.in that's filled at configure time.

Other flags have to be inferred from the current target/host combination, in
Cranelift's build script directly. This is mostly cargo-culted from the
ServoBindings.toml file, and should probably be merged in the build system at
some point.

Some Windows-specific adjustments were needed to provide access to libclang for
bindgen support, by adding clang-cl to the plain Spidermonkey Windows builds.

--HG--
extra : rebase_source : 0bda40b1d1eb38c2657593f094c951013711d00a
extra : histedit_source : aad930a5f9099e299d385ae4de2deb81aed9b6d5
2018-09-25 15:31:22 +02:00
Thomas P. fde56b2dde Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj 2018-09-20 21:21:38 +00:00
Andreea Pavel a6ba34f2ad Backed out 2 changesets (bug 1483780) for build bustages on a CLOSED TREE
Backed out changeset 2b0a42c589c5 (bug 1483780)
Backed out changeset 48d133cbafd3 (bug 1483780)
2018-09-21 05:43:03 +03:00
Thomas P. c047fdb3fb Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj
--HG--
extra : histedit_source : b7caa42560c3d8e7ba1dbf61fcacfe0698790801
2018-09-20 21:21:38 +00:00
Thomas P. dae33d978b Bug 1483780: enable sanitizer-less libfuzzer builds r=froydnj superreview=decoder
--HG--
extra : histedit_source : 6fd1a37c3fb5d8997be11f7846b2976fc7b8a647
2018-09-11 03:49:37 +00:00
Nathan Froyd 90c91d64dc Bug 1491901 - move MK*SHLIB to moz.configure; r=ted.mielczarek
It's nicer to have all that logic in one place, and to be able to common
up the Unix-y flags setting.  The Makefile constructs in string values
is gross, but it's no worse than we had before.
2018-09-19 10:03:42 -04:00
Masatoshi Kimura 480bad1d12 Bug 1490654 - Drop support for MSVC 2017 Update 6. r=froydnj 2018-09-16 22:22:31 +09:00
Dorel Luca 7a91966c10 Merge mozilla-inbound to mozilla-central. a=merge 2018-09-15 12:46:59 +03:00
Mike Hommey 61e6bceefa Bug 1490549 - Fix some comments r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5916

--HG--
extra : moz-landing-system : lando
2018-09-15 01:14:29 +00:00
Mike Hommey 410b4939d9 Bug 1490549 - Make configure choose clang by default on all platforms r=froydnj
Now that we ship builds using clang on all platforms, pick it during
configure. It is still possible to opt-in to building other compilers by
setting CC/CXX (or even only CC) to the desired compiler.

Depends on D5829

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

--HG--
extra : moz-landing-system : lando
2018-09-14 18:01:23 +00:00
Mike Hommey 1beed8c891 Bug 1490549 - Change how host compilers are found r=froydnj
Before this change, we'd derive a host compiler and handle things as if
HOST_CC/HOST_CXX had been passed. With this change, we change the list
of compilers that are tested with check_prog instead.

Depends on D5828

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

--HG--
extra : moz-landing-system : lando
2018-09-14 17:40:52 +00:00
Jim Chen 6ce80dbdc4 Bug 1480834 - 5. Keep target flag when building for Android on Linux; r=glandium
Currently, when building for Android x86-64 on Linux x86-64, we drop the
'--target' flag, which causes the build to fail. This patch adds a check
for OS mismatch, so we keep the '--target' flag in this situation.

Differential Revision: https://phabricator.services.mozilla.com/D4483
2018-09-13 12:09:26 -04:00
Thomas P. ac7fc2f5a6 Bug 1474488: add --enable-undefined-sanitizer with custom checks r=froydnj 2018-09-11 02:47:23 +00:00
Masatoshi Kimura 762361579f Bug 1485224 - Update Windows builders to VS 2017 15.8.4 and Windows SDK 17134. r=glandium
--HG--
extra : rebase_source : 15906168b0e2e2d545ea841cb3e11e7102bc9b39
2018-09-07 07:15:19 +09:00
Ted Mielczarek 201bd292e7 Bug 1384557 - move _DEPEND_CFLAGS+CL_INCLUDES_PREFIX to toolchain.configure, ignore {CC,CXX}_WRAPPER when using sccache; r=glandium
Currently mozconfig.cache overrides a few build options for sccache.
This patch moves them into toolchain.configure so that the build system
will set them properly when sccache is in use.  Additionally,
{CC,CXX}_WRAPPER are set in config.mk, so just avoid setting them when
sccache is in use.
2018-09-14 12:12:34 -04:00
Margareta Eliza Balazs f79a9159ca Backed out 2 changesets (bug 1485224) for perma bc3 failures e.g.: Error getting fileid for Z:\task_1536750533ad] WARNING: NS_ENSURE_TRUE CLOSED TREE
Backed out changeset fe2c607f4af7 (bug 1485224)
Backed out changeset f7a6e536532e (bug 1485224)
2018-09-12 15:37:19 +03:00
Masatoshi Kimura c7adec1ec3 Bug 1485224 - Update Windows builders to VS 2017 Update 8 and Windows SDK 17134. r=glandium
--HG--
extra : source : 2face0081dbf1ba256f6f533eea8b865e8360b78
2018-09-07 07:15:19 +09:00
Andreas Tolfsen 07dcb317a5 bug 1471281: build: make asan depend on --help; r=froydnj
The asan definition needs to depend on --help for the --enable-geckodriver
flag to depend on it through geckodriver_default.
2018-09-11 10:40:30 +01:00
Margareta Eliza Balazs e620c683cb Backed out 2 changesets (bug 1474488) for causing failures in build/src/obj-firefox/dist/include/mozilla/Assertions.h CLOSED TREE
Backed out changeset ffce46424c69 (bug 1474488)
Backed out changeset e4b9fa5f7592 (bug 1474488)
2018-09-11 10:59:28 +03:00
Thomas P. 357f9deb02 Bug 1474488 - add --enable-undefined-sanitizer with custom checks. r=froydnj 2018-09-11 02:47:23 +00:00
Robert Longson 63cb9a2572 Bug 1482196 - Increase minimum clang version to 3.9 r=froydnj 2018-09-10 18:59:07 +01:00
Mike Hommey cd06f032af Bug 1079662 - Always enable PIE. r=froydnj
Last attempt, a few years ago, blatantly failed because nautilus (the
GNOME file manager) can't start PIE executables, which look like shared
libraries, and that it thus considers not being executables.

Downstreams don't actually have the problem, because users won't be
launching Firefox from a file manager, but for mozilla.org builds, it is
a problem because users would download, then extract, and then likely
try to run the Firefox executable from a file manager.

So for mozilla.org builds, we still need to find a way around the
nautilus problem.

A .desktop file could be a solution, but .desktop files have not
actually been designed for this use case, which leads to:
- having to use an awful one-liner shell wrapper to derive the path
  to the executable from that of the .desktop file,
- not even being able to associate an icon,
- the .desktop file not being copiable to a location where .desktop
  files would normally go, because it would then fail to find the
  executable.

Another possibility is to go back to using a shell wrapper, but that's
not entirely appealing.

What we chose here is similar, where we have a small `firefox` wrapper
that launches the real `firefox-bin` (which is still leftover from those
old times where we had a shell wrapper, for reasons).

The small `firefox` wrapper is a minimalist C executable that just
finds the path to the `firefox-bin` executable and executes it with the
same args it was called with. The wrapper is only enabled when the
MOZ_NO_PIE_COMPAT environment variable is set, which we only take into
account on Linux. The variable is only really meant to be used for
mozilla.org builds, for the nautilus problem. Downstreams will just pick
the default, which is changed to build PIE.

On other platforms, PIE was already enabled by default, so we just
remove the --enable-pie configure flag.

Differential Revision: https://phabricator.services.mozilla.com/D5109
2018-09-08 07:41:21 +09:00
Mike Hommey f74b691a6e Bug 1488587 - Don't default to lld when building with clang LTO. r=dmajor
As described in c2b5cf7bde83, it is still preferable to build with BFD
ld when doing clang LTO, and one of the reasons we defaulted to lld in
the first place is that we didn't have the LLVM gold plugin on
automation, which, as of bug 1488307, we now have.

Differential Revision: https://phabricator.services.mozilla.com/D4987
2018-09-06 08:01:39 +09:00
Mike Hommey 9dae4fbe09 Bug 1487931 - Avoid using linker scripts as file lists when doing LTO with BFD ld. r=froydnj
At least, when that combination doesn't work. This requires passing the
LTO flags to the compiler invocations for the test, which in turn
requires actually calling the linker directly on Windows, instead of
directly through the compiler, as when actually building.

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

--HG--
extra : moz-landing-system : lando
2018-09-04 21:49:16 +00:00
David Major e57877cd63 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium 2018-08-21 11:30:16 -04:00
Margareta Eliza Balazs 751b15f741 Backed out changeset 1b533762e9cb (bug 1483835) for causing build bustage in /python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py on a CLOSED TREE 2018-08-21 17:03:40 +03:00
David Major e14b59ea94 Bug 1483835: Default to clang-cl and lld-link in local Windows builds. r=glandium
--HG--
extra : rebase_source : 4abacd94c31ca33d8388f5e0da22010320c561a8
2018-08-21 09:34:33 -04:00
Mike Hommey 6df1b75554 Fix Android bustage from bug 1484872. r=me on a CLOSED TREE 2018-08-21 09:14:28 +09:00
Mike Hommey d1714fc61d Bug 1484872 - Move LTO flags to python configure. r=froydnj 2018-08-21 08:40:26 +09:00
Masatoshi Kimura 20bf6de031 Bug 1484190 - Unblock MSVC 2017 15.8. r=dmajor
--HG--
extra : rebase_source : 9d43a9cec951deabcb224efcc6bea2be0e772394
extra : source : 36e41ebefc3512f840f646be3fc14f0f3b5b538d
2018-08-17 20:41:49 +09:00
Narcis Beleuzu 96343e8f1f Backed out 3 changesets (bug 1484184, bug 1484190, bug 1484191) for bustages on test_toolchain_configure.py. CLOSED TREE
Backed out changeset dca5444170e0 (bug 1484190)
Backed out changeset 1ef81d07bc5b (bug 1484184)
Backed out changeset 2a42fd4df1bb (bug 1484191)
2018-08-20 19:49:37 +03:00
Masatoshi Kimura f985ebf143 Bug 1484190 - Unblock MSVC 2017 15.8. r=dmajor
--HG--
extra : rebase_source : b21ef13181d447cbbd822f073c80d982dd212dc4
extra : source : 5d24aab5c5a18b18edfd13cf786e94c545e36e94
2018-08-17 20:41:49 +09:00
Emilio Cobos Álvarez 583727a597 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:48:23 +02:00
Cosmin Sabou a1dcf34f94 Backed out changeset 4b9dcf8f2e6c (bug 1478813) for build bustages because cbindgen is missing. CLOSED TREE 2018-08-17 20:24:06 +03:00
Emilio Cobos Álvarez 1e9ffcebe9 Bug 1478813 - Auto-generate ServoStyleConsts. r=xidorn,ted
Differential Revision: https://phabricator.services.mozilla.com/D2447
2018-08-17 19:02:34 +02:00
Mike Hommey f50e1c662a Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor
--HG--
extra : source : 5fcbe08fb321a5076f56c380b554c63068efbb00
2018-08-16 16:44:36 +09:00
arthur.iakab 07aa46fd13 Backed out 2 changesets (bug 1479800, bug 1483779)for frequent cgx and arm64 failures
Backed out changeset 5fcbe08fb321 (bug 1483779)
Backed out changeset dccd5299c5ad (bug 1479800)
2018-08-17 09:50:30 +03:00
Mike Hommey 152366b300 Bug 1483779 - Enable PGO on clang-cl 32-bits builds. r=dmajor 2018-08-17 10:19:52 +09:00
Mike Hommey 6d4eb0a92e Bug 1464170 - Support PGO in clang builds on Linux. r=dmajor
This uses the same code path as for clang-cl builds.
2018-08-10 05:54:11 +09:00
Mike Hommey a228cc9fbd Bug 1481989 - Don't try to enable libstdc++ compat on Android. r=froydnj
We only enable libstdc++ compat on Android for the host parts, and
in practice, the target part has it not enabled at the moment because
libstdc++ can't be found. But making the clang toolchain capable of
building for x86 changes the deal for Android x86.
2018-08-10 05:53:59 +09:00
Mike Hommey 6d197a0707 Bug 1481719 - Disable profile-instr-out-of-date warnings explicitly rather than allowing all warnings where they appear. r=dmajor 2018-08-09 06:07:33 +09:00
Nathan Froyd 879bf0a2bd Bug 1480553 - part 3 - add mappings for aarch64 in Windows configure paths; r=glandium
We need to add mappings for target.cpu to MSVC's arm64 name for
determining various paths, and we need to add an extra case to
get_vc_paths so the compiler can find all the necessary DLLs.
2018-08-02 21:40:40 -04:00
David Major 45083c4934 Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj 2018-08-01 17:59:23 -04:00
Andreea Pavel 11f1c09ffe Backed out changeset 7a3882f27aa3 (bug 1341525) for failing win Sa builds on a CLOSED TREE
--HG--
extra : amend_source : dbf7c208749c67b6bb8674eb5ba55c6514f89a2d
2018-08-02 02:26:13 +03:00
David Major ebe3264f11 Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj 2018-08-01 17:59:23 -04:00
Andreea Pavel 250fd9a027 Backed out changeset 2011dae40293 (bug 1341525) for failing win Sa builds 2018-08-02 01:33:30 +03:00
David Major 622dccd28f Bug 1341525: Enable PGO in 64-bit clang-cl builds. r=froydnj
--HG--
extra : rebase_source : 06038cb081f7b2b2789a8b867b03340bf103b05e
2018-08-01 17:59:23 -04:00