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

1867 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 03e9935f48 Bug 1758782 - Force-use DWARF-4 debug info. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D140795
2022-03-15 00:24:25 +00:00
Chris Peterson 13de2f98de Bug 1758608 - Enable some Objective-C/C++ diagnostics that are currently warning-free. r=firefox-build-system-reviewers,andi
Only enable them when building on macOS or cross-compiling for macOS on Linux.

# catch redeclaration of ObjC method parameter name
-Wduplicate-method-arg

# catch multiple declarations of ObjC method found
-Wduplicate-method-match

# catch ObjC method with no return type specified
-Wmissing-method-return-type

# catch implicit conversions between ObjC BOOL and int
-Wobjc-signed-char-bool

# catch semicolon before ObjC method body
-Wsemicolon-before-method-body

# catch ObjC method parameter type not matching super class method
-Wsuper-class-method-mismatch

https://clang.llvm.org/docs/DiagnosticsReference.html

Differential Revision: https://phabricator.services.mozilla.com/D140598
2022-03-10 03:19:59 +00:00
Mitchell Hentges 6fb4802b2e Bug 1753182: Get realpath of Python during configure r=glandium
Previously, the Python virtualenv path would be `realpath`'d before the
virtualenv was activated [1].

However, now that (when going through Mach) we're calling `configure.py`
with the build virtualenv's Python binary directly, that `realpath()`
was lost.

We //could// `realpath(self.topsrcdir)` in `building.py`, but then the
virtualenv will be needlessly re-created when it's called from a
non-normpath'd context.

Instead, let's leave realpath-ing Mach's `self.topsrcdir` to another
day, and let's spot-fix this issue: when evaluating `PYTHON3` in
configure, do `realpath()` on the path we get from the running Python
process.

Note: `sys.prefix` was normpath'd instead of `(...).python_path`,
because on Linux virtualenv's `bin/python` is symlinked to the system
installation it's associated with, which we *don't* want here.

[1] https://hg.mozilla.org/mozilla-central/rev/ca4d439114f3#l1.61

Differential Revision: https://phabricator.services.mozilla.com/D138594
2022-02-28 16:12:41 +00:00
Zhao Jiazhong 62341514c5 Bug 1756570 - [loong64] Add basic build support for LoongArch64 port. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D139567
2022-02-25 03:42:34 +00:00
Markus Stange 99a2412c5e Bug 1451902 - Enable framepointers for all macOS builds on all channels. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D138051
2022-02-11 00:38:45 +00:00
Benjamin Beurdouche bf3cd48302 Bug 1753980 - land NSS ac0c37493099 UPGRADE_NSS_RELEASE, r=nkulatova
Differential Revision: https://phabricator.services.mozilla.com/D138023
2022-02-07 16:31:57 +00:00
Mike Hommey 1ea827dc69 Bug 1752064 - Move the remainder of AS to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136981
2022-02-03 00:06:29 +00:00
Markus Stange 648b57016d Bug 1753107 - Enable framepointers on all channels for macOS arm64 builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D137574
2022-02-02 15:52:31 +00:00
Nick Alexander ea098cb33e Bug 1751658 - Move `ANDROID_CPU_ARCH` to `moz.configure`. r=firefox-build-system-reviewers,glandium
Why not somewhere Android-specific?  Eventually, I'd like to expose
this to something very early in configure.

Differential Revision: https://phabricator.services.mozilla.com/D136702
2022-01-27 16:11:09 +00:00
Cristian Tuns 5eb2cfda19 Backed out 2 changesets (bug 1752064, bug 1752072) for causing build bustages on Windows 2012 CLOSED TREE
Backed out changeset 0cbd0cf9563e (bug 1752072)
Backed out changeset b6e0d43b43ab (bug 1752064)
2022-01-27 02:27:45 -05:00
Mike Hommey 7d09c915d1 Bug 1752068 - Stop using system_lib_option in old_configure_options. r=firefox-build-system-reviewers,mhentges
The last old-configure system option was removed in bug 1308558.

Differential Revision: https://phabricator.services.mozilla.com/D136982
2022-01-27 00:24:15 +00:00
Mike Hommey 4cd9b523ae Bug 1752064 - Move the remainder of AS to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136981
2022-01-27 00:18:27 +00:00
Mike Hommey 77ef469247 Bug 1752004 - Remove usage of six in python configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136946
2022-01-25 21:38:47 +00:00
Mike Hommey 677b775c8f Bug 1751811 - Stop installing msdia140.dll. r=firefox-build-system-reviewers,andi
It was added for llvm-symbolizer, and at the time, it was required.
However, since [1] (shipped in llvm 12), llvm-symbolizer, msdia140.dll
is not used by default, only when passing the -dia command line option,
which we don't use.

1. c74b427cb2

Differential Revision: https://phabricator.services.mozilla.com/D136821
2022-01-25 20:01:37 +00:00
Mike Hommey ba9b891611 Bug 1751810 - Stop checking for DIA SDK headers and libraries. r=firefox-build-system-reviewers,andi
After bug 1588538, the only use of the DIA SDK is to copy msdia140.dll
for llvm-symbolizer.exe.

Differential Revision: https://phabricator.services.mozilla.com/D136820
2022-01-25 09:23:03 +00:00
Mike Hommey 773fa3be25 Bug 1751817 - Pass --rtlib=libgcc to clang when building for Android. r=firefox-build-system-reviewers,andi
Instead of forcing it via a patch to clang itself (which now conflicts
with other changes on clang trunk, although the conflict is benign).

Because of https://github.com/llvm/llvm-project/issues/53397 we need to
narrow down the warnings that trigger errors in the check for
`pthread_cond_timedwait_monotonic_np`.

Differential Revision: https://phabricator.services.mozilla.com/D136850
2022-01-25 09:17:39 +00:00
Mike Hommey 8e8d1e77e5 Bug 1751415 - Fixup after bug 1750671. r=firefox-build-system-reviewers,mhentges
`extra_flags` is not necessarily a list, originally.

Differential Revision: https://phabricator.services.mozilla.com/D136660
2022-01-22 00:59:03 +00:00
Mike Hommey d4919a8c5f Bug 1747970 - Move AC_CHECK_FUNC{,S} to python configure. r=firefox-build-system-reviewers,andi
- AC_HAVE_FUNCS is an alias to AC_CHECK_FUNCS, so it is covered.
- Nothing uses HAVE___CXA_DEMANGLE, so we don't explictly set it,
  although we do need the result of whether __cxa_demangle is supported.
- No moz.build uses MOZ_DEMANGLE_SYMBOLS, so we only `set_define` it.
- We leave dladdr in old-configure because it needs to move along other
  dl* things.
- The hotfix for AC_CHECK_FUNC is however not needed for dladdr, so we
  remove it.
- We replace the forced HAVE_LOCALECONV on Windows with a check shared
  with all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D134858
2022-01-20 21:01:20 +00:00
Mike Hommey cce437063b Bug 1749386 - Fall back to `mach artifact toolchain --from-build` if we cannot resolve to a task in configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136300
2022-01-19 22:17:44 +00:00
Mike Hommey 00fdf5557e Bug 1750893 - Move Android linker flags to python configure. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D136294
2022-01-19 21:32:10 +00:00
Iulian Moraru f2f55d39bc Backed out changeset ffdd096022f9 (bug 1747970) for causing android build bustages. CLOSED TREE 2022-01-19 02:20:04 +02:00
Mike Hommey 464471142b Bug 1747970 - Move AC_CHECK_FUNC{,S} to python configure. r=firefox-build-system-reviewers,andi
- AC_HAVE_FUNCS is an alias to AC_CHECK_FUNCS, so it is covered.
- Nothing uses HAVE___CXA_DEMANGLE, so we don't explictly set it,
  although we do need the result of whether __cxa_demangle is supported.
- No moz.build uses MOZ_DEMANGLE_SYMBOLS, so we only `set_define` it.
- We leave dladdr in old-configure because it needs to move along other
  dl* things.
- The hotfix for AC_CHECK_FUNC is however not needed for dladdr, so we
  remove it.
- We replace the forced HAVE_LOCALECONV on Windows with a check shared
  with all platforms.

Differential Revision: https://phabricator.services.mozilla.com/D134858
2022-01-18 23:53:38 +00:00
Mike Hommey 933a6a1002 Bug 1750671 - Fixup for artifact builds. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D136274
2022-01-18 22:10:54 +00:00
Mike Hommey 6c2ecbdb2e Bug 1750671 - Adjustments to fix testcase. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D136270
2022-01-18 21:31:56 +00:00
Mike Hommey 88a7543acc Bug 1750671 - Pass linker flags to compiler when running check_symbols. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136204
2022-01-18 21:03:19 +00:00
Mike Hommey 2c9df18067 Bug 1750671 - Move linker detection around. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D136203
2022-01-18 21:03:19 +00:00
Mike Hommey 939ebefde9 Bug 1749607 - Only use bootstrapped pkgconf when using bootstrapped sysroot. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135978
2022-01-17 23:49:35 +00:00
Benjamin Beurdouche 84a342941b Bug 1748820 - land NSS 44e6341be5e8 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D135690
2022-01-12 10:40:38 +00:00
Agi Sferro fe94caaf56 Bug 1743469 - Target android 31. r=jgraham,jnicol,calu
Differential Revision: https://phabricator.services.mozilla.com/D133153
2022-01-11 19:16:03 +00:00
Iulian Moraru 30ccf11d2e Backed out changeset 30fb33fe9ec3 (bug 1747298) for causing multiple mochitest failures. CLOSED TREE 2022-01-11 13:14:36 +02:00
Christian Holler 7db161c99e Bug 1747298 - Use CXX for Cargo linking when necessary. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D135219
2022-01-11 09:31:31 +00:00
Mike Hommey 3885215795 Bug 1747532 - Default to lld for local mac builds. r=firefox-build-system-reviewers,andi
When using clang >= 13.0

Differential Revision: https://phabricator.services.mozilla.com/D134862
2022-01-11 00:07:41 +00:00
Mike Hommey 5bf15edfdb Bug 1747532 - Add clang version mappings for more versions of Xcode. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134861
2022-01-11 00:07:41 +00:00
Kagami Sascha Rosylight 458177e66f Bug 1732673 - Add cppwinrt to include path on Windows r=firefox-build-system-reviewers,andi
This enables `#include <winrt/base.h>` to work.

While the build itself works, clangd still complains that it can't find winrt/base.h, probably because of https://github.com/llvm/llvm-project/issues/53112.

Differential Revision: https://phabricator.services.mozilla.com/D135510
2022-01-10 16:06:48 +00:00
Mike Hommey c8c1a3c5f2 Bug 1748966 - Speed up bootstrap. r=firefox-build-system-reviewers,andi
Currently, the bootstrap code from configure gets bootstrapped task info
from the taskgraph, and then invokes `mach artifact toolchain` which...
does the same again. That cumulatively wastes a noticeable amount of
time, especially on Windows.

So to avoid repeating this work that the configure side already did,
we do a little more on the configure side (resolution from index to
task-id), and just give a (task-id, artifact path) pair to `mach
artifact toolchain`. The added code to `mach artifact toolchain` is
actually ironically very similar to the code that was removed in
bug 1687594.

And now that mach bootstrap uses the configure code, it benefits from
this change as well.

Differential Revision: https://phabricator.services.mozilla.com/D135311
2022-01-07 21:26:44 +00:00
Csoregi Natalia 1f2a864c13 Backed out 2 changesets (bug 1747532) for busted artifact builds on MacOS. a=backout
Backed out changeset d0bc51a9eb47 (bug 1747532)
Backed out changeset 1b2a06b52985 (bug 1747532)
2022-01-06 19:38:33 +02:00
Mitchell Hentges 47520dab98 Bug 1725895: Add support for MSYS2 MozillaBuild r=glandium
MSYS2 has a slightly different directory structure (binaries are
now under "/usr/bin/" instead of "/bin/"), and we're now plonking
it in `%MOZILLABUILD%\msys2` instead of `%MOZILLABUILD%\msys` so that
MSYS1 files don't interfere with MSYS2 after a pave-over install.

Speaking of pave-over installs: if both `msys2` and `msys` are available,
this patch prefers `msys2`. This is because MozillaBuild installations
with MSYS2 are going to _assume_ they're using MSYS2, and therefore
be most compatible with the versions of packages shipped with MSYS2.

Differential Revision: https://phabricator.services.mozilla.com/D133549
2022-01-06 06:49:47 +00:00
Mitchell Hentges 7e6a4952a2 Bug 1725895: Port `--profile-command` to pure-Python r=nalexander,glandium
As part of this, the shell-script part of `./mach` can be removed,
making it pure Python.

There's a change in `--profile-command` behaviour, though: it now only
profiles the specific command, rather than all of Mach.
This is because _so much of Mach_ has already been run before
CLI arguments are parsed in the Python process.

If a developer wants to profile Mach itself, they can manually run
`python3 -m cProfile -o <file> ./mach ...`

Differential Revision: https://phabricator.services.mozilla.com/D133928
2022-01-06 00:32:48 +00:00
Marian-Vasile Laza 7262acfd88 Backed out 2 changesets (bug 1725895, bug 1740123) for causing build bustages.
Backed out changeset a6eabd95e31d (bug 1740123)
Backed out changeset bfd5211060b4 (bug 1725895)
2022-01-05 03:46:17 +02:00
Mike Hommey 45bb78f8c8 Bug 1647542 - When cross-compiling on Windows, don't prioritize the target compiler as host compiler. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135005
2022-01-05 00:47:55 +00:00
Mike Hommey fca792ecaa Bug 1748384 - Properly handle Windows SDK when the host compiler is clang-cl and the target compiler is not. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135004
2022-01-05 00:47:55 +00:00
Mike Hommey d2d9350277 Bug 1748385 - Use the --dont-define-prefix flag of pkg-config when supported. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135012
2022-01-05 00:02:43 +00:00
Mike Hommey 7ebc2dc34a Bug 1748385 - Add --shared flag when using pkgconf >= 1.7.4. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135011
2022-01-05 00:02:42 +00:00
Mike Hommey 2fa5739371 Bug 1748385 - Use the system path separator for PKG_CONFIG_LIBDIR. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135010
2022-01-05 00:02:42 +00:00
Mike Hommey e1c71aa04b Bug 1748385 - Add a pkgconf toolchain and use it. r=firefox-build-system-reviewers,mhentges
pkgconf is an alternative implementation of pkg-config that is more
cross-platform. It has also become the default on Fedora, so it's not
some random project.

Differential Revision: https://phabricator.services.mozilla.com/D135009
2022-01-05 00:02:41 +00:00
Mike Hommey 4433dc7410 Bug 513617 - Only check pkg-config on platforms where we need it. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135008
2022-01-05 00:02:41 +00:00
Narcis Beleuzu 1b1effc9ba Backed out 5 changesets (bug 1748385, bug 513617) for bustages on pkg.configure . CLOSED TREE
Backed out changeset bc23b3cfb583 (bug 1748385)
Backed out changeset 53f3c4e3e600 (bug 1748385)
Backed out changeset 5c744edba720 (bug 1748385)
Backed out changeset ad23d3af4df6 (bug 1748385)
Backed out changeset 54e3431d9152 (bug 513617)
2022-01-05 01:23:29 +02:00
Mike Hommey 2d9ca36bea Bug 1748385 - Use the --dont-define-prefix flag of pkg-config when supported. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135012
2022-01-04 22:57:02 +00:00
Mike Hommey 55c350dbd6 Bug 1748385 - Add --shared flag when using pkgconf >= 1.7.4. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135011
2022-01-04 22:57:02 +00:00
Mike Hommey 3a4ba2a846 Bug 1748385 - Use the system path separator for PKG_CONFIG_LIBDIR. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135010
2022-01-04 22:57:02 +00:00