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

616 Коммитов

Автор SHA1 Сообщение Дата
Bogdan Tara 0bff3c4d0b Backed out 7 changesets (bug 1639815) for --disable-install-strip related bustages CLOSED TREE
Backed out changeset 04a1388fc17d (bug 1639815)
Backed out changeset d48eea557b6d (bug 1639815)
Backed out changeset 6fba10f61bd2 (bug 1639815)
Backed out changeset cfb945f6c82f (bug 1639815)
Backed out changeset 16447c678749 (bug 1639815)
Backed out changeset 89475adf15b6 (bug 1639815)
Backed out changeset 94877a079054 (bug 1639815)
2020-05-22 01:33:22 +03:00
Mike Hommey 8a47c95211 Bug 1639815 - Move --enable-cpp-rtti to python configure. r=froydnj
This only moves the option, but still leaves it to the old-configure code to
add the appropriate flags to CXXFLAGS.

Differential Revision: https://phabricator.services.mozilla.com/D76288
2020-05-21 10:13:27 +00:00
David Major 199714bdbe Bug 1639318 - Stick to clang-9 levels of CFG on arm64 r=froydnj
The expanded checks in clang 10 made arm64 builds hit CFG crashes on nsXPTCStubBase vtables on startup.

It's not clear why this doesn't happen on x86 builds. Given our current level of support for arm64, I can't really justify investigating this, although I suspect that fixing the underlying issue would be pretty much bug 1483885.

As a get-unblocked stopgap, `-guard:cf,nochecks` in clang 10 gives the same behavior as `-guard:cf` in clang 9.

Differential Revision: https://phabricator.services.mozilla.com/D76216
2020-05-21 02:11:23 +00:00
Nathan Froyd 4b28d7c785 Bug 1637957 - ensure consistent output when checking for linker kind; r=firefox-build-system-reviewers,rstewart
If we don't do this, configure will happily think the linker kind is
"unknown", which then causes problems downstream.

Differential Revision: https://phabricator.services.mozilla.com/D75300
2020-05-14 17:50:14 +00:00
Adam Gashlin 7dfca96d38 Bug 1634563 - Detect and skip invalid SDK directories. r=glandium
Add the -X switch to ignore default include path, and tolerate proprocessor failures.
This enables the check to skip a directory that is missing headers, instead of
falling back on the default paths.

Differential Revision: https://phabricator.services.mozilla.com/D73371
2020-05-01 01:26:32 +00:00
Mike Hommey daf7ca3ab6 Bug 1632770 - Document what linker is used across configurations. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D72302
2020-04-29 00:13:56 +00:00
Stefan Hindli f64adba7c4 Backed out changeset 823857306bce (bug 1435148) for causing bug 1631468 CLOSED TREE 2020-04-23 00:18:26 +03:00
Jesse Schwartzentruber 9d87851a27 Bug 1435148 - Disable jemalloc when any sanitizer is used. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D70092
2020-04-20 14:35:20 +00:00
Mike Hommey 2c5762dade Bug 1628519 - Use os.path.realpath in coverage_cflags. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D70315

--HG--
extra : moz-landing-system : lando
2020-04-09 20:44:15 +00:00
Oana Pop Rus 19cf0ce806 Backed out changeset d52d4b62a347 (bug 1435148) for python tier2 failures in test_moz_configure.py on a CLOSED TREE
--HG--
extra : rebase_source : e49f5784a059023d769f6b554cc19c4151200949
2020-04-09 00:07:32 +03:00
Jesse Schwartzentruber a91be586fd Bug 1435148 - Disable jemalloc when any sanitizer is used. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D70092

--HG--
extra : moz-landing-system : lando
2020-04-08 18:01:03 +00:00
Mike Hommey 19b511423c Bug 1627163 - Fix a few more python 3 incompatibilities in some .configure files. r=firefox-build-system-reviewers,rstewart
Differential Revision: https://phabricator.services.mozilla.com/D69948

--HG--
extra : moz-landing-system : lando
2020-04-07 15:44:06 +00:00
Stephen A Pohl 2e96a507c8 Bug 1626329: Allow builds with the 10.15.4 macOS SDK. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D69032

--HG--
extra : moz-landing-system : lando
2020-03-31 16:56:20 +00:00
Mike Hommey f352b032de Bug 1618782 - Enable hardening on win64-aarch64 build when the compiler supports it. r=rstewart
We only enabled hardening with an explicit --enable-hardening because we
needed a patch. That patch was applied to upstream clang 8.0.1, so we
can now enable automatically whenever using the right version.

The explicit --enable-hardening was also not applied to win64-aarch64
debug builds, and this indirectly enables it there too, matching other
debug builds. This also avoids breaking debug builds when enabling
winchecksec on cross builds.

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

--HG--
extra : moz-landing-system : lando
2020-03-27 10:41:23 +00:00
Andi-Bogdan Postelnicu 2772af809c Bug 1623282 - [clang-plugin][alpha] Do not define `MOZ_CLANG_PLUGIN_ALPHA` if we don't need it. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D67292

--HG--
extra : moz-landing-system : lando
2020-03-18 14:17:39 +00:00
Andi-Bogdan Postelnicu bc9dbe64a1 Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg
Differential Revision: https://phabricator.services.mozilla.com/D65314

--HG--
extra : moz-landing-system : lando
2020-03-17 07:01:09 +00:00
Andreea Pavel a6b6afe578 Backed out changeset 780399392e20 (bug 1619921) for breaking toolchains on a CLOSED TREE 2020-03-16 18:27:17 +02:00
Andi-Bogdan Postelnicu 1ee04a1f77 Bug 1619921 - enable clang-plugin with support for alpha checkers module. r=froydnj,sg
Differential Revision: https://phabricator.services.mozilla.com/D65314

--HG--
extra : moz-landing-system : lando
2020-03-16 16:04:00 +00:00
Mike Hommey 5e3d7e3257 Bug 1619867 - Look for .exe-suffixed midl and rc from configure. r=dmajor
With this and all the previous changes, the necessary mozconfig for
local cross-builds only contains DIA_SDK_PATH, WINDOWSSDKDIR and
--target.

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

--HG--
extra : moz-landing-system : lando
2020-03-04 17:13:24 +00:00
Tyson Smith d97983b83c Bug 1404547 - Enable 'enum' UBSan check. r=froydnj,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D65393

--HG--
extra : moz-landing-system : lando
2020-03-04 20:22:30 +00:00
Mihai Alexandru Michis 3bdc97b4c6 Backed out changeset 4af4d32ee984 (bug 1404547) for causing wpt leaks. 2020-03-04 12:23:34 +02:00
Tyson Smith 7f6936156c Bug 1404547 - Enable 'enum' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D65213

--HG--
extra : moz-landing-system : lando
2020-03-03 22:30:39 +00:00
Stephen A Pohl 38ad74e45d Bug 1583854: Allow builds with the 10.15 macOS SDK. r=mshal
Depends on D64447

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

--HG--
extra : moz-landing-system : lando
2020-02-26 20:32:13 +00:00
Chris Manchester 7fbe451377 Bug 1617700 - Bump in-tree sccache to 0.2.13 and require the new version to build. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63971

--HG--
extra : moz-landing-system : lando
2020-02-26 21:46:27 +00:00
Bogdan Tara ab84964fa2 Backed out changeset 9df351217706 (bug 1617700) for webconsole/typing.js failures CLOSED TREE 2020-02-26 23:39:02 +02:00
Mike Hommey cdb95efb9d Bug 1618065 - Unify Windows assembler executable extensions. r=dmajor
Depending on the target, the assembler for Windows builds is one of ml,
ml64, or armasm64. Only for the latter currently are we looking for the
assembler with the .exe extension. All of them should be looked for the
same way, and we pick including the extension.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 20:48:17 +00:00
Mike Hommey 1bc4750dca Bug 1618063 - Pass full qualified path of the assembler to old-configure. r=dmajor
We're feeding old-configure with compiler and assembler as found by
python configure via ac_cv_* variables (abusing the autoconf cache).

When doing so, and when the assembler was provided via an environment
variable, while python configure resolves the path, old-configure
doesn't get the resolved path, because we're currently passing it the
path that was passed via the environment.

Now pass the resolved path instead.

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

--HG--
extra : moz-landing-system : lando
2020-02-26 20:45:54 +00:00
Chris Manchester fb67d9c344 Bug 1617700 - Bump in-tree sccache to 0.2.13 and require the new version to build. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D63971

--HG--
extra : moz-landing-system : lando
2020-02-25 02:15:06 +00:00
Nathan Froyd 4bb0df12f2 Bug 1604616 - check for a new enough libstdc++; r=glandium
After a C++ language version bump, It's possible to wind up in
situations where we are using a new enough compiler version, but the
libstdc++ version in use is not new enough to support new language
features: self-compiled clang with system libraries, clang from `mach
bootstrap` prior to C++ language version bump (and thus including a new
libstdc++ with the boostrapped clang), etc.

Previously, such a situation would mean that things would work fine, and
then start breaking as soon as new library features started to be used.
Let's try to catch the problem earlier, when the update happens, by
verifying that the libstdc++ version is at least as new as the GCC
version we're requiring.

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

--HG--
extra : moz-landing-system : lando
2020-02-10 18:51:42 +00:00
Ricky Stewart 232331fdb4 Bug 1610944 - configure/test_toolchain_configure.py and configure/test_toolchain_helpers.py support Python 3 r=firefox-build-system-reviewers,mshal CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D60743

--HG--
extra : source : f5b4973be6dac983ff87add5d198f959de2cec78
extra : amend_source : 30b53ec7c0a22138d43d9c7e85c6e43c9dea84b1
2020-01-23 17:15:38 +00:00
Csoregi Natalia c12e02a6be Backed out changeset f5b4973be6da (bug 1610944) for nightly bustages. a=backout 2020-01-24 13:40:32 +02:00
Ricky Stewart e82e92605b Bug 1610944 - configure/test_toolchain_configure.py and configure/test_toolchain_helpers.py support Python 3 r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D60743

--HG--
extra : moz-landing-system : lando
2020-01-23 17:15:38 +00:00
Cosmin Sabou 7b76379364 Backed out changeset 7c2048122a9f (bug 1610944) for causing L10n bustages. 2020-01-23 07:21:28 +02:00
Ricky Stewart 3003ade6dd Bug 1610944 - configure/test_toolchain_configure.py and configure/test_toolchain_helpers.py support Python 3 r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D60743

--HG--
extra : moz-landing-system : lando
2020-01-22 23:46:36 +00:00
Gabriele Svelto 96a70684f4 Bug 1588538 - Use the new Windows dump_syms tool to dump symbols in local builds r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D57094

--HG--
extra : moz-landing-system : lando
2020-01-16 14:14:13 +00:00
Csoregi Natalia 57eb78c63c Backed out changeset 5d0b75e5f795 (bug 1588538) for DUMP_SYMS bustage. CLOSED TREE 2020-01-14 13:53:54 +02:00
Gabriele Svelto e62e144c3c Bug 1588538 - Use the new Windows dump_syms tool to dump symbols in local builds r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D57094

--HG--
extra : moz-landing-system : lando
2020-01-14 10:08:52 +00:00
Nathan Froyd 8058ebbc5b Bug 1604814 - change the OS X SDK headers check to only run on OS X; r=rstewart
The doubling of `when` is needed: the `try_run` when ensures that we
only execute the compiler on OS X, and the `@depends` when ensures that
we don't look at the `None` result (which would normally indicate
failure) on non-OS X hosts.

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

--HG--
extra : moz-landing-system : lando
2019-12-18 21:00:57 +00:00
Tyson Smith f28f9e82c6 Bug 1602845 - Enable 'return' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56626

--HG--
extra : moz-landing-system : lando
2019-12-15 05:13:34 +00:00
Tom Ritter f85cc45712 Bug 1511073 - Enable stack protector for MinGW build r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D56295

--HG--
extra : moz-landing-system : lando
2019-12-09 17:02:50 +00:00
Tyson Smith 30f2b5474f Bug 1602536 - Enable 'object-size' UBSan check r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D56472

--HG--
extra : moz-landing-system : lando
2019-12-09 22:07:12 +00:00
Tom Ritter 0d1c6b5d7e Bug 1601701 - Add -lssp to the mingw-clang for FORTIFY_SOURCE support r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D56000

--HG--
extra : moz-landing-system : lando
2019-12-07 03:35:34 +00:00
Ricky Stewart 9c9c545557 Bug 1601064 - In ./mach configure, infer the location of the bootstrapped lucetc/wasi-sysroot r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D55734

--HG--
extra : moz-landing-system : lando
2019-12-09 14:54:16 +00:00
Nathan Froyd f47aaef62d Bug 1560664 - default to C++17 with optional gnu extensions; r=rstewart
This change does not fully enable C++17, as we still need standard
library support from some platforms.

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

--HG--
extra : moz-landing-system : lando
2019-12-03 06:50:13 +00:00
Mihai Alexandru Michis d12cf9f2ad Backed out changeset 9dea219937cd (bug 1560664) for causing valgrid bustages. CLOSED TREE
--HG--
extra : rebase_source : 60fba62a9241bec3aadc84260c2b9dacb89cf1ff
2019-12-02 16:59:55 +02:00
Nathan Froyd 945c7515d6 Bug 1560664 - default to C++17 with optional gnu extensions; r=rstewart
This change does not fully enable C++17, as we still need standard
library support from some platforms.

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

--HG--
extra : moz-landing-system : lando
2019-11-26 21:19:53 +00:00
Nathan Froyd 72b0fe8ee6 Bug 1536848 - raise the minimum gcc version to 7; r=dmajor
We need this for full C++17 support.

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

--HG--
extra : moz-landing-system : lando
2019-11-21 20:53:27 +00:00
Razvan Maries 5af92f5f8a Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-11-15 00:41:27 +02:00
Razvan Maries 4e42de3ec8 Merge mozilla-inbound to mozilla-central a=merge 2019-11-14 23:49:26 +02:00
Ricky Stewart 08c0c80063 Bug 1594552 - Add moz.configure bits to specify a compiler for converting C/C++ to wasm r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D52111

--HG--
extra : moz-landing-system : lando
2019-11-14 16:26:24 +00:00
Nathan Froyd d3483bdef5 Bug 1579189 - raise the minimum clang version to 5; r=#build
We need this for "full" C++17 support (everything is supported, but some
C++17 features still have bugs) and this change also brings Linux into
parity with our Mac requirements.

MANUAL PUSH: build toolchains on inbound to avoid clogging autoland

Differential Revision: https://phabricator.services.mozilla.com/D51450
2019-11-14 11:16:38 -04:00
Makoto Kato 0327aea5ca Bug 1564097 - Set HOST_LINKER when host OS is Windows too. r=glandium
When running Cargo on Windows, `HOST_LINKER` is required by
`cargo-host-linker.bat`. So we should use windows.configure to set HOST_LINKER
when host OS is Windows and target OS isn't Windows.

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

--HG--
extra : moz-landing-system : lando
2019-11-13 11:48:25 +00:00
Tyson Smith ee4b443ded Bug 1595633 - Enable 'pointer-overflow' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52608

--HG--
extra : moz-landing-system : lando
2019-11-12 16:29:37 +00:00
Ricky Stewart 6b46a4c52e Bug 1593502 - Build system does not add -isysroot to the command-line flags for compiler invocations when the provided_compiler has additional flags r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D52414

--HG--
extra : moz-landing-system : lando
2019-11-12 00:28:17 +00:00
Ricky Stewart 7a000bc5ca Bug 1595906 - Allow opting out of hardening compile flags on a granular basis r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52756

--HG--
extra : moz-landing-system : lando
2019-11-14 17:13:28 +00:00
Tyson Smith 5b02d71498 Bug 1594839 - Enable 'integer-divide-by-zero' UBSan check. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D52218

--HG--
extra : moz-landing-system : lando
2019-11-08 18:54:51 +00:00
Ricky Stewart d5351b1c6b Bug 1589792 - Remove --disable-xcode-checks r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D51171

--HG--
extra : moz-landing-system : lando
2019-10-30 20:46:09 +00:00
Christian Holler 4c144ccda1 Bug 1592250 - Disable libFuzzer instrumentation in TSan builds. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D50922

--HG--
extra : moz-landing-system : lando
2019-10-29 14:03:40 +00:00
Chris Manchester 870590b5fe Bug 1589783 - Require sccache 0.2.12 when used to build. r=nalexander
Depends on D49801

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

--HG--
extra : moz-landing-system : lando
2019-10-22 16:41:02 +00:00
Cosmin Sabou b9bc1ef9d6 Backed out 2 changesets (bug 1476339, bug 1590714) for breaking windows coverage builds and at marco's request.
Backed out changeset 0a3621d900c8 (bug 1590714)
Backed out changeset db0e1ce31ac3 (bug 1476339)

--HG--
extra : rebase_source : 2421340b6220f0858ee449a1f5bc26bf3316943b
2019-10-23 23:10:17 +03:00
Marco Castelluccio 2b99ab19ea Bug 1590714 - Remove unused 'mozbuild_state_path'. r=chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D50203

--HG--
extra : moz-landing-system : lando
2019-10-23 19:37:41 +00:00
Marco Castelluccio 04a3124744 Bug 1476339 - Set coverage LDFLAGS as part of configure. r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D49830

--HG--
extra : moz-landing-system : lando
2019-10-22 22:55:45 +00:00
Dorel Luca cf3d2dccbb Backed out changeset 098dacd3fabe (bug 1476339) for Linting failure in mozbuild/mozbuild/frontend/context.py. CLOSED TREE
--HG--
extra : amend_source : a805d5f03e8127b4248a5f95943e1f33f3b92608
2019-10-23 01:26:46 +03:00
Marco Castelluccio cfdcf5a828 Bug 1476339 - Set coverage LDFLAGS as part of configure. r=firefox-build-system-reviewers,chmanchester
Differential Revision: https://phabricator.services.mozilla.com/D49830

--HG--
extra : moz-landing-system : lando
2019-10-22 21:00:34 +00:00
Nathan Froyd 020191bdfa Bug 1580931 - remove libc++ gcc 4.9 workarounds from toolchain.configure; r=nalexander
Getting rid of unneeded code and having fewer global defines are both
worthy things.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 20:01:18 +00:00
Nathan Froyd a66584728f Bug 1579523 - fix visibility definition for future NDKs on Android; r=nalexander
A previous patch defined `_LIBCPP_HIDE_FROM_ABI` to the empty string.
This definition worked for normal (opt/debug) builds, but
PGO-instrumented builds fell over with some linker errors.  A closer
look at the definition of `_LIBCPP_HIDE_FROM_ABI`:

```
#ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU
#  ifndef _LIBCPP_HIDE_FROM_ABI_PER_TU_BY_DEFAULT
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 0
#  else
#    define _LIBCPP_HIDE_FROM_ABI_PER_TU 1
#  endif
#endif

#ifndef _LIBCPP_HIDE_FROM_ABI
#  if _LIBCPP_HIDE_FROM_ABI_PER_TU
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_INTERNAL_LINKAGE
#  else
#    define _LIBCPP_HIDE_FROM_ABI _LIBCPP_HIDDEN _LIBCPP_EXCLUDE_FROM_EXPLICIT_INSTANTIATION
#  endif
#endif
```

says that there are two macros involved there: one to set hidden visibility
(which we don't want), and another to exclude the function definition
from explicit instantiation.  The semantics of this are not obvious (the
clang documentation only documents this attribute in terms of C++
templates; the particular case we're interested in sets the attribute on
normal function definitions).  But roughly, what this does is that it
forces the compiler to see that an equivalent function definition is
provided external to the compilation unit, so it doesn't have to keep
the annotated function definition around.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 15:13:36 +00:00
Sylvestre Ledru 931b1e9554 Bug 1579054 - Improve the --enable-clang-plugin description r=andi
Differential Revision: https://phabricator.services.mozilla.com/D44820

--HG--
extra : moz-landing-system : lando
2019-09-05 12:21:38 +00:00
Nathan Froyd ebeb43d427 Bug 1578478 - update disabling visibility on Android for newer libc++; r=nalexander
We define some libc++-internal macros to avoid conflicts between the way
we do symbol visibility and the way libc++ expects visibility to work.
Newer NDK versions use a newer libc++ which changes the way the macro we
were using works. To enable building with newer libc++ versions, let's
also define macros appropriate to those versions as well.

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

--HG--
extra : moz-landing-system : lando
2019-09-04 17:56:49 +00:00
Emilio Cobos Álvarez 4cedbb4380 Bug 1577749 - Fix check_sccache_version when using RUSTC_WRAPPER. r=jwatt a=Aryx
Differential Revision: https://phabricator.services.mozilla.com/D44139

--HG--
extra : source : cd8cfdc6b5b3d0ce775afda2bb3c443451baa20f
extra : histedit_source : c048c74d4a7f8cdf3d245c1ad0e4a875c7e0b1a7
2019-08-30 12:22:12 +00:00
Chris Manchester 3712f28127 Bug 1577351 - Require a recent version of sccache when it is in use. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D43861

--HG--
extra : moz-landing-system : lando
2019-08-29 17:45:23 +00:00
Mike Hommey 46c7dfffb5 Bug 1575804 - Don't decode the result from get_cmd_output. r=chmanchester
Also don't pass universal_newlines to check_cmd_output. That was added
to make python 3 happier when check_cmd_output still returned bytes, to
hint subprocess to return a unicode string, but now that
check_cmd_output does the decoding, that's not needed anymore.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 22:05:51 +00:00
Nathan Froyd 1c00fec375 Bug 1573820 - default to bfd ld for x86-64 Android; r=nalexander
This change looks a lot more complicated than it actually is.

The motivating issue is that on x86-64 android, the NDK uses gold as its
default linker, and on this platform gold has some bugs in how it handles
`.note.*` sections that lead to `strip` and `objcopy` produce invalid
binaries...or at least invalid binaries according to `elfhack`.  When
`elfhack` complains, the build stops, which is suboptimal.  Instead, let's
use bfd `ld`, which doesn't have these problems.

Except that when we make the change to provide `--enable-linker` with a
platform-specific default, the lint configure tests complain that the
provided help string is not using the proper format.  So we tack on the
sekret `{|}` string to satisfy the linter.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 19:26:22 +00:00
Bogdan Tara b5b30d8b87 Backed out changeset cace4ffbecb2 (bug 1576030) requested by glandium 2019-08-23 11:36:03 +03:00
Mike Hommey a1ebadbc30 Bug 1576030 - Allow to forcefully enable cargo incremental. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D43189

--HG--
extra : moz-landing-system : lando
2019-08-23 03:11:35 +00:00
Mike Hommey 3e303cdeb9 Bug 1576030 - Disable cargo incremental when using sccache. r=nalexander
For some reason, cargo incremental doesn't work as well as it should,
and doesn't perform as well as sccache does. So when building with
sccache, disable cargo incremental. This brought a no-change clobber
build with 100% cache from 3:50 to 2:05 on a beefy AWS instance I was
testing this with.

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

--HG--
extra : moz-landing-system : lando
2019-08-23 04:50:55 +00:00
Mike Hommey 32044bbc45 Bug 1575804 - Don't decode the result from check_cmd_output. r=froydnj
Bug 1575135 changed check_cmd_output to return unicode strings, but a
couple places were already trying to do their own decoding, which now
can fail. Remove those.

Interesting the decoding was previously broken on Windows, this
actually fixes it (the output of hg config is not actually utf-8 on
Windows).

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

--HG--
extra : moz-landing-system : lando
2019-08-22 17:02:39 +00:00
Chris Peterson 41241f3418 Bug 1514965 - Part 2: Enable clang -ftrivial-auto-var-init to initialize local variables with 0xAA in debug builds. r=froydnj
Disable -ftrivial-auto-var-init for DllBLocklistWin.cpp with clang-cl because the file's interceptions happen so early in the main process that the loader hasn't yet resolved the import of memset (used by -ftrivial-auto-var-init) from vcruntime140.dll.

Disable -ftrivial-auto-var-init on Linux32 because it causes some xpcshell test failures.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 07:08:29 +00:00
Chris Peterson 539da64637 Bug 1514965 - Part 1: Refactor mingw_clang checks for reuse. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D27358

--HG--
extra : moz-landing-system : lando
2019-08-21 07:08:04 +00:00
Cameron Kaiser efe5f0901c Bug 1571613 - basic support for Power ISA SIMD detection (v2). r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D42592

--HG--
extra : moz-landing-system : lando
2019-08-21 03:36:55 +00:00
Mike Hommey 16c5b7db29 Bug 1575135 - Change get_cmd_output to emit unicode strings. r=nalexander
Because most calling places in python configure don't actually want to
deal with encodings, although in practical terms they should, make
get_cmd_output handle it itself.

Places that explicitly do want bytes can keep using subprocess directly.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 16:43:15 +00:00
Mike Hommey cce0006157 Bug 1575135 - Use functions from util.configure instead of subprocess.*. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42603

--HG--
extra : moz-landing-system : lando
2019-08-20 16:42:16 +00:00
Mike Hommey cc52fc2e1a Bug 1575135 - Define whether the system encoding is mbcs or utf-8 once. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D42601

--HG--
extra : moz-landing-system : lando
2019-08-20 16:40:24 +00:00
Nathan Froyd 9fc6f1be89 Bug 1573601 - remove tabs in toolchain.configure; r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D41800

--HG--
extra : moz-landing-system : lando
2019-08-13 18:12:54 +00:00
Nathan Froyd f51898d9da Bug 1568026 - move LTO/PGO configure bits to a new file; r=dmajor
To do properly checks on LLVM version correspondence between `clang` and
`rustc`, we need information about both of those compilers to be
available.  The current placement of the LTO/PGO checks is after we know
something about `clang`, but before we know something about `rustc`.
Therefore we need to move those checks after we've gathered information
about `rustc`.

The PGO bits come along for this bug because the LTO bits depend on
them, and we're going to need the Rust information for cross-language
PGO checks in a different bug.  So we might as well move everything all
at once.

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

--HG--
rename : build/moz.configure/toolchain.configure => build/moz.configure/lto-pgo.configure
extra : moz-landing-system : lando
2019-07-30 16:38:39 +00:00
Nathan Froyd 23b65ca007 Bug 1563204 - diagnose issues on Mac with cross-language LTO early; r=dmajor
...rather than people running into peculiar crashes running their tests
because functions are pointing at the wrong thing.

It would be more robust to version-check `ld`, but I figure people
wanting to do local cross-language LTO builds is rare enough that
setting an environment variable and rerunning configure is not a huge
hardship.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 14:26:51 +00:00
Andreea Pavel 08dfeb92cf Backed out changeset b80d14f72e5b (bug 1563204) build bustges on a CLOSED TREE 2019-07-25 17:13:14 +03:00
Nathan Froyd 6112863ed7 Bug 1563204 - diagnose issues on Mac with cross-language LTO early; r=dmajor
...rather than people running into peculiar crashes running their tests
because functions are pointing at the wrong thing.

It would be more robust to version-check `ld`, but I figure people
wanting to do local cross-language LTO builds is rare enough that
setting an environment variable and rerunning configure is not a huge
hardship.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 13:16:59 +00:00
Mike Shal 98ffc560c9 Bug 1561146 - Enable PGO for Windows aarch64 builds; r=firefox-build-system-reviewers,chmanchester
This build re-uses the PGO profile from the win64 build in the
win64-aarch64-shippable-no-eme part of the aarch64 build. Even though
the profile isn't generated on the smae platform, we still get enough of
a performance win to make this worthwhile.

Note that the pgo_flags() in configure need to be tweaked slightly since
we don't supprt the -fprofile-generate flag for aarch64 (we don't build
the clang_rt.profile lib there). So we always want to return the flags
namespace to make sure we get the use_* versions of flags, which we do
need.

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

--HG--
extra : moz-landing-system : lando
2019-07-23 23:42:47 +00:00
Mike Hommey 6a8d20b0cc Bug 1564216 - Require clang 5 for OSX builds. r=froydnj
There is less incentive to keep things building with older versions of
clang for OSX builds, and we're going to require an objective-C feature
that was added in clang 5.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 21:31:39 +00:00
Makoto Kato c0d323f7d3 Bug 1567069 - Set valid _DEPEND_CFLAG for host compiler when target and host are different type. r=glandium
Actually we set _DEPEND_CFLAGS to both host and target compiler. But if host and target are different compiler type, we may pass invalid option.

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

--HG--
extra : moz-landing-system : lando
2019-07-18 07:46:03 +00:00
Nathan Froyd 2c71c84a33 Bug 1486042 - default clang-cl pgo to use cross-language LTO; r=dmajor
This change is a little bit of a cheat, because of course MSVC doesn't
do cross-language LTO by default, but it seems consistent.

Depends on D33317

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

--HG--
extra : moz-landing-system : lando
2019-07-16 02:39:18 +00:00
Mike Hommey 280a850db7 Bug 1561821 - Enable frame pointers in Rust code when building with --enable-frame-pointers. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D37021

--HG--
extra : moz-landing-system : lando
2019-07-05 00:08:32 +00:00
Makoto Kato ecd47d34f4 Bug 1562389 - Better detect non-clang-cl native windows clang. r=glandium
When building Gecko/Android/aarch64 on Windows, `--target` parameter may not be incorrect value. Although `check_compiler`'s `info` is target compiler, clang on Windows is always detected as `clang-cl`, not `clang`.

```
c:/Users/mkato/.mozbuild/clang/bin/clang.exe -E  -dM - < /dev/null
...
#define _MSC_VER 1916
```

So even if using clang on Windows, not clang-cl, we should detect as 'clang' correctly

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

--HG--
extra : moz-landing-system : lando
2019-07-08 10:35:40 +00:00
shindli d3e7218ba8 Backed out 2 changesets (bug 1562389) for causing bustages in ../python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py::WindowsToolchainTest::test_clang_cl CLOSED TREE
Backed out changeset 7dbb546e6138 (bug 1562389)
Backed out changeset 68ad44276058 (bug 1562389)
2019-07-04 07:44:49 +03:00
Makoto Kato fa0b6ffc5f Bug 1562389 - Better detect non-clang-cl native windows clang r=glandium
When building Gecko/Android/aarch64 on Windows, `--target` parameter may not be incorrect value. Although `check_compiler`'s `info` is target compiler, clang on Windows is always detected as `clang-cl`, not `clang`.

```
c:/Users/mkato/.mozbuild/clang/bin/clang.exe -E  -dM - < /dev/null
...
#define _MSC_VER 1916
```

So even if using clang on Windows, not clang-cl, we should detect as 'clang' correctly

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

--HG--
extra : moz-landing-system : lando
2019-07-04 01:28:12 +00:00
Mike Hommey d26da0b870 Bug 1560044 - Make Xcode checks macOS host only. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36559

--HG--
extra : moz-landing-system : lando
2019-07-02 23:24:57 +00:00
Mike Hommey 7256ffeb9b Bug 1560044 - Always use a SDK path on macOS. r=nalexander
The SDK headers may not be installed in /usr/include. The usual response
has been to have people run e.g. `open
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`
which is not really sustainable.

This makes builds that happen on a macOS host try to detect their SDK
and use that as a default for --with-macos-sdk, which has the side
effect of enabling the SDK version check in that configuration.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 22:11:05 +00:00
Mike Hommey dc4a97fb4e Bug 1560044 - Allow --with-macos-sdk as an option when cross-compiling on macOS. r=nalexander
Building host tools on macOS require a macOS SDK, but it's currently
not configurable when cross-compiling for e.g. Android.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 23:25:01 +00:00
Andreea Pavel c92947ecc6 Backed out 5 changesets (bug 1528314, bug 1560044) for build bustages on a CLOSED TREE
Backed out changeset 4a544cd4b035 (bug 1528314)
Backed out changeset 91919cdf9159 (bug 1528314)
Backed out changeset 1271940e91e8 (bug 1560044)
Backed out changeset a5bbaa8c1001 (bug 1560044)
Backed out changeset 7ae0d606f1c6 (bug 1560044)
2019-07-03 02:20:15 +03:00
Mike Hommey e1e0add912 Bug 1560044 - Make Xcode checks macOS host only. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D36559

--HG--
extra : moz-landing-system : lando
2019-07-02 17:24:04 +00:00
Mike Hommey 65dabdc42b Bug 1560044 - Always use a SDK path on macOS. r=nalexander
The SDK headers may not be installed in /usr/include. The usual response
has been to have people run e.g. `open
/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg`
which is not really sustainable.

This makes builds that happen on a macOS host try to detect their SDK
and use that as a default for --with-macos-sdk, which has the side
effect of enabling the SDK version check in that configuration.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 17:23:23 +00:00
Mike Hommey 4e854757b0 Bug 1560044 - Allow --with-macos-sdk as an option when cross-compiling on macOS. r=nalexander
Building host tools on macOS require a macOS SDK, but it's currently
not configurable when cross-compiling for e.g. Android.

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

--HG--
extra : moz-landing-system : lando
2019-07-02 17:21:54 +00:00
David Major 029c3f2a24 Bug 1561822 - Clean up a workaround for frame pointer flags in aarch64 clang-cl r=froydnj
Glandium pointed out that we're actually using the same flag for both `enable=` and `disable=`. Oops.

It turns out that we don't need this code anymore anyway, since the needed patch got merged to clang 8.0.0 [0], which we now require [1].

[0] https://reviews.llvm.org/rGa576b44d09080661fc9f83a94f66eccb44d5f3ce
[1] https://hg.mozilla.org/integration/autoland/rev/0a49234facf2

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

--HG--
extra : moz-landing-system : lando
2019-06-28 13:55:01 +00:00
Mike Shal 9ea52410d9 Bug 1557785 - Fix automatic setting of LTO with clang-cl; r=dmajor
With clang-cl and PGO enabled, toolchain.configure automatically turns
on LTO for compatibility with MSVC. However, MOZ_PGO is set for both the
profile-generate and profile-use builds in a 3-tier PGO setup via
imply_option(), but we only want LTO enabled for the profile-use build
(see bug 1483778).

For 1-tier PGO builds, which are still used by local developers, MOZ_PGO
will be set and --enable-profile-generate will be unset, so LTO will be
automatically enabled. The profiledbuild target in make is responsible
for disabling MOZ_LTO on the profile-generate build.

For 3-tier PGO builds, MOZ_PGO will still be set, so we can skip setting
LTO in configure when --enable-profile-generate is set.

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

--HG--
extra : moz-landing-system : lando
2019-06-25 18:38:15 +00:00
Mike Shal 628c15f57c Bug 1557785 - Allow LLVM_PROFDATA to work even if not explicitly set in the environment; r=firefox-build-system-reviewers,chmanchester
Windows finds llvm-profdata in the PATH, in contrast to Linux or Android
builds that set LLVM_PROFDATA as an environment variable in mozconfigs.
The pgo_profile_path() configure checks should still work in this case.

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

--HG--
extra : moz-landing-system : lando
2019-06-19 22:05:56 +00:00
Mike Hommey 5091811073 Bug 1559301 - Straighten up C/C++ standard compiler flags. r=nalexander
- `info.type in ('clang-cl', 'clang', 'gcc')` is always true since MSVC
support was removed.
- For some reason, we didn't enforce C++14 on GCC.

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

--HG--
extra : moz-landing-system : lando
2019-06-14 16:14:50 +00:00
Mike Hommey 85e29d1e3b Bug 1557583 - Add a --enable-frame-pointers option. r=chmanchester
We've been relying on frame pointers being indirectly enabled via things
like --enable-profiling for some time, but this doesn't scale because
some things may want frame pointers while wanting --disable-profiling.

So we move MOZ_FRAMEPTR_FLAGS to python configure and add a new option
to decide whether to enable frame pointers or not.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:30:46 +00:00
Mike Hommey 958968bcdc Bug 1557583 - Move --enable-*-sanitizers options to python configure. r=dmajor
But keep the corresponding logic in sanitize.m4.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 13:08:27 +00:00
Mike Hommey 44e96352da Bug 1557547 - Actively reject clang < 4.0 during configure. r=mshal
Bug 1394825 bumped the minimum version of clang we use on automation,
for the base toolchain jobs, and there's a libclang test for bindgen,
but we should reject the compiler in the first place.

The check to do that works in both C and C++, contrary to the original
3.6 test that was checking a C++ feature ; the test was later changed
for 3.9, using a check that would have worked in both C and C++, but
the C exception was left around. We remove it now.

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

--HG--
extra : moz-landing-system : lando
2019-06-12 22:22:24 +00:00
Mike Hommey 4b49193e14 Bug 1557855 - Define MOZBUILD_STATE_PATH as an option. r=nalexander
Rather than taking it from the environment every time it's necessary.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 23:25:01 +00:00
Mike Hommey 47925b3f7a Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using fold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 04:43:45 +00:00
Bogdan Tara 12782914a5 Backed out changeset 2d8ad105aac8 (bug 1557507) on Glandium's request CLOSED TREE 2019-06-07 07:38:03 +03:00
Mike Hommey 6b74e0f7de Bug 1557507 - Default to lld linker for local builds in more cases. r=nalexander
The current logic is that if the compiler somehow uses gold rather than
BFD ld by default, we let it, but if it uses BFD ld, we default to lld.
When doing Android builds, the compiler finds the linker in the NDK, and
the default `ld` binary is gold. So we currently end up using gold for
Android builds.

Here, we change the logic such that we use lld when the default linker
the compiler uses is either BFD ld or gold. We can't go with "is not
lld" because the other possible kind, ld64, is what we actually want to
use on mac, since lld doesn't support mach-o fully just yet.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:53 +00:00
Mike Hommey 7dcedba0bf Bug 1557213 - Don't try to use NDK clang. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33902

--HG--
extra : moz-landing-system : lando
2019-06-07 00:40:10 +00:00
Mike Hommey 1c5cf6c437 Bug 1519954 - Pick binaries from mach bootstrap first on local developer builds. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D33884

--HG--
extra : moz-landing-system : lando
2019-06-06 01:22:21 +00:00
Mike Hommey 985a376afa Bug 1526857 - Improve bindgen configuration wrt clang. r=chmanchester
The current setup for bindgen relies on either finding clang/libclang
from the output of llvm-config, or from the paths given via the
configure flags --with-clang-path/--with-libclang-path.

One _very_ common problem is that the llvm-config we end up using does
not correspond to the clang used for compilation, which has some
undesirable side effect, like failing to build.

So instead of relying on llvm-config, we do the following:
- when the compiler is clang, we just use that
- when the compiler is clang-cl, we use clang from the same directory
- otherwise, we either try to find clang in PATH, or rely on
  --with-clang-path.

Once clang is found, we try to deduce the location of the corresponding
libclang via the output of `clang -print-search-dirs`, or rely on
--with-libclang-path.

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

--HG--
extra : moz-landing-system : lando
2019-06-05 02:48:20 +00:00
Cosmin Sabou 85466f08fd Backed out 2 changesets (bug 1486042) for causing crashes @ servo_arc::Arc<T>::drop_slow. CLOSED TREE
Backed out changeset 5e85998c4d97 (bug 1486042)
Backed out changeset d083a8bd98ed (bug 1486042)
2019-06-01 02:19:19 +03:00
Nathan Froyd 915bec197e Bug 1486042 - default clang-cl pgo to use cross-language LTO; r=dmajor
This change is a little bit of a cheat, because of course MSVC doesn't
do cross-language LTO by default, but it seems consistent.

Depends on D33317

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

--HG--
extra : moz-landing-system : lando
2019-05-31 17:24:02 +00:00
Gijs Kruitbosch fd337bafb4 Bug 1196094 - disable _exit in child processes when generating profile information, r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D33269

--HG--
extra : moz-landing-system : lando
2019-05-31 14:17:47 +00:00
Cosmin Sabou 4b7060c540 Backed out changeset f593f5a5bfa3 (bug 1555346) for build bustages on llvm-profdata. CLOSED TREE 2019-05-29 19:14:25 +03:00
Nathan Froyd 74a42ff95b Bug 1555346 - require llvm-profdata when using pgo with clang{,-cl}; r=dmajor
Detecting problems earlier is better than detecting them later.

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

--HG--
extra : moz-landing-system : lando
2019-05-29 15:59:18 +00:00
Nathan Froyd 875e72df9f Bug 1542746 - switch clang{,-cl} to use IR-based instrumentation for PGO; r=firefox-build-system-reviewers,chmanchester
This form of instrumentation is more like our other platforms, and also
opens the possibility of interacting properly with Rust IR-level PGO.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 19:52:41 +00:00
Nathan Froyd 93a44ee14e Bug 1553972 - make --with-pgo-profile-path take a directory; r=nalexander
e10s profiling or IR-based PGO instrumentation will both produce
multiple `.profraw` files that need to be handled in some way.  Since
clang's `-fprofile-generate` option takes a directory, it seems fitting
to make `--with-pgo-profile-path` mirror that by taking a directory, and
letting `merge_profdata.py` deal with whatever files it might find in
said directory.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 01:53:59 +00:00
David Major 12a5d86407 Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-20 17:53:37 +00:00
Coroiu Cristina 55a63d1520 Backed out 2 changesets (bug 1523526, bug 1526443) for Be bustage on Windows AArch on a CLOSED TREE
Backed out changeset 98013639d600 (bug 1526443)
Backed out changeset e8ac4b512f9d (bug 1523526)
2019-05-20 20:21:56 +03:00
David Major f0dc4b3dbe Bug 1526443 - Pick up LLVM fix for CFG on arm64-windows builds r=froydnj
Cherry-picks https://bugs.llvm.org/show_bug.cgi?id=39799 and enables CFG on aarch64-windows automation. It's keyed on an explicit --enable-hardening to avoid breaking the local builds of developers who haven't yet picked up the compiler patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-13 18:38:23 +00:00
Chris Manchester 5fa8ca19bf Bug 1552021 - Add an option to turn off rust incremental compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D31341

--HG--
extra : moz-landing-system : lando
2019-05-17 23:00:30 +00:00
Emilio Cobos Álvarez c74f3a885b Bug 1549762 - Don't build mozglue linker tests if building with icecream. r=glandium
As icecream doesn't deal well with .incbin.

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

--HG--
extra : moz-landing-system : lando
2019-05-15 13:40:23 +00:00
Nathan Froyd 1396262e0e Bug 1550868 - enforce a minimum version of clang-cl; r=glandium
We've not been checking the clang-cl version in use.  This lack of
checking is bad, for a couple of reasons:

* Released versions of clang-cl differ drastically in their robustness;
* Only the most recent version of clang-cl supports aarch64.

We should check for a minimum version of clang-cl, just like our other
supported compilers.  As a bonus, we can then start depending on
features that we know appear in the particular minimum clang-cl
version.  (The current patch is motivated by `/clang:` command-line
support, but one could pick other things.)

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

--HG--
extra : moz-landing-system : lando
2019-05-14 14:22:55 +00:00
Nathan Froyd f104ce2b4a Bug 1546438 - add a `cross` option to `MOZ_LTO` for cross-language LTO; r=mshal
This option is for performing LTO between C++ code and Rust code.  The
actual build pieces for Rust code are coming in the next patch.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:16:36 +00:00
Nathan Froyd ae023b43de Bug 1549794 - add sysroot flags for the macOS SDK to bindgen's flags; r=nalexander
We already do this for the compiler that we detect via
toolchain.configure...but as the comment in `basic_bindgen_cflags`
alludes to, we don't actually use that compiler here.  We use a much
more bare-bones compiler, so we have to add the necessary flags manually.

We need to make `--with-macos-sdk` a `js_option` so that uses of bindgen
in the JS engine will receive the proper flags.

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

--HG--
extra : moz-landing-system : lando
2019-05-10 20:07:34 +00:00
Kartikaya Gupta 3068d94ed2 Bug 1549554 - Use biplist instead of plistlib so we can parse SDKSettings.plist in the 10.14 SDK. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D30097

--HG--
extra : moz-landing-system : lando
2019-05-06 20:11:16 +00:00
Dan Minor e2aee8c88f Bug 1540760 - Make it possible to use clang-cl as an assembler; r=firefox-build-system-reviewers,mshal
Some media libraries use gas syntax in their assembly files. Rather than
converting these arm assembly syntax files for aarch64, we can use clang-cl
to build them directly.

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

--HG--
extra : moz-landing-system : lando
2019-05-01 15:04:48 +00:00
Bobby Holley cc31352b96 Bug 1547847 - Refine MacOS header configure check to whitelist cross-compilation. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D29285

--HG--
extra : moz-landing-system : lando
2019-04-30 00:06:53 +00:00
Mark Banner e4c79f2689 Bug 1495672 - Block configure if the Mac OS X headers are not installed on 10.14. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D28817

--HG--
extra : moz-landing-system : lando
2019-04-25 16:27:18 +00:00
Nathan Froyd 49c1be9b8f Bug 1545502 - move fuzzing options to toolchain.configure; r=firefox-build-system-reviewers,chmanchester
We moved fuzzing options out of `toolkit/moz.configure` into `js`'s
configure a while back, but we seem to have snuck some fuzzing-related
options into `toolchain.configure` in the interim.  But we can't make
the `toolchain.configure` bits depend on the `js` bits; let's just put
everything in `toolchain.configure`.

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

--HG--
extra : moz-landing-system : lando
2019-04-23 19:15:17 +00:00
Eric Rahm 1cfab6d66f Bug 1544418 - Increase max OSX SDK version to 10.14. r=mshal
We are no longer seeing black screen issues on OSX 10.14.4.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:45 +00:00
Eric Rahm 2016216d6f Bug 1544418 - Backed out changeset 3d0236f985f8. r=mshal
Backout update that broke OSX 10.13 builds.

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

--HG--
extra : moz-landing-system : lando
2019-04-16 18:00:57 +00:00
Mike Shal 63403bb0df Bug 1522931 - always check the OSX SDK version; r=firefox-build-system-reviewers,chmanchester
Bug 1500504 added a version check for the SDK, but it only does the
check if --with-macos-sdk is used. We should also check the version when
using the default SDK.

Note that this means we now set MACOS_SDK_DIR to be the default SDK even
if it wasn't set explicitly from --with-macos-sdk

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

--HG--
extra : moz-landing-system : lando
2019-04-12 19:00:13 +00:00
Csoregi Natalia efc3a9c990 Backed out 2 changesets (bug 1522931) for breaking macOS build on 10.14. a=backout
Backed out changeset 27214432fe48 (bug 1522931)
Backed out changeset 71191e5499a1 (bug 1522931)
2019-04-10 17:10:12 +03:00
Mike Shal 3af5e94461 Bug 1522931 - always check the OSX SDK version; r=firefox-build-system-reviewers,chmanchester
Bug 1500504 added a version check for the SDK, but it only does the
check if --with-macos-sdk is used. We should also check the version when
using the default SDK.

Note that this means we now set MACOS_SDK_DIR to be the default SDK even
if it wasn't set explicitly from --with-macos-sdk

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

--HG--
extra : moz-landing-system : lando
2019-04-09 20:38:51 +00:00
Gurzau Raul d57d523481 Backed out changeset 70ce7207292e (bug 1490743) for increasing build times on Windows platforms. a=backout 2019-03-26 09:06:35 +02:00
Mike Hommey 7e282558ea Bug 1524429 - Move build/autoconf/arch.m4 to python configure. r=nalexander
The file is essentially limited to ARM flag tweaks, so we make the
corresponding python configure code ARM-only. In large parts, the
python code sets things up similarly, although in a few places we try to
be smarter about than the current autoconf-based code.

The resulting config.status have been verified to only have
insignificant differences on both arm and aarch64 android builds.

Depends on D24000

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

--HG--
extra : moz-landing-system : lando
2019-03-20 16:17:57 +00:00
David Major ebab8a4fb6 Bug 1490743 - Work around missing type information in Windows debug symbols r=chmanchester
See https://bugs.llvm.org/show_bug.cgi?id=38944. clang thought it could safely leave out type information for some of our classes, but that information would have been helpful for debugging. The flag in this patch turns off the debug-info limiting.

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

--HG--
extra : moz-landing-system : lando
2019-03-20 15:04:41 +00:00
Andreea Pavel f7b09c8773 Backed out 2 changesets (bug 1524429) for build bustages at lint.py on a CLOSED TREE
Backed out changeset 7947b90f1580 (bug 1524429)
Backed out changeset 1a5a5aef01d5 (bug 1524429)
2019-03-20 02:16:41 +02:00
Mike Hommey 80f7e86b2e Bug 1524429 - Move build/autoconf/arch.m4 to python configure. r=nalexander
The file is essentially limited to ARM flag tweaks, so we make the
corresponding python configure code ARM-only. In large parts, the
python code sets things up similarly, although in a few places we try to
be smarter about than the current autoconf-based code.

The resulting config.status have been verified to only have
insignificant differences on both arm and aarch64 android builds.

Depends on D24000

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

--HG--
extra : moz-landing-system : lando
2019-03-19 22:32:58 +00:00
Gian-Carlo Pascutto e0391761b8 Bug 1533133 - Fix missing linker and JS engine options for SSP. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D22730

--HG--
extra : moz-landing-system : lando
2019-03-15 08:46:27 +00:00
Nathan Froyd 6d4137ff36 Bug 1534159 - remove exceptions for Android and Darwin from libstdcxx checks; r=glandium
The only place we'd need the compat libraries would be for host
binaries, and those shouldn't be a problem given that our system images
are new enough.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 22:24:20 +00:00
Thomas Daede b63aba5124 Bug 1521186 - Download nasm toolchain on Windows and Linux. r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D22798

--HG--
extra : moz-landing-system : lando
2019-03-11 18:00:13 +00:00
Nathan Froyd 2f1020dc41 Bug 1533149 - add checking messages for libstdcxx_version; r=glandium
It's occasionally useful to know what versions are being discovered for
these variables.  It's also convenient for logs from automation to
contain all the relevant information, rather than setting up a loaner
and running all the commands yourself.

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

--HG--
extra : moz-landing-system : lando
2019-03-10 00:11:09 +00:00