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

283 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey 9dffed84fb Bug 1544779 - Prioritize mozmake over mingw32-make. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D142308
2022-03-29 08:26:06 +00:00
Mitchell Hentges 23cbe80fd0 Bug 1724274: Move virtualenv dependency manifests to python/virtualenvs r=ahal
This is needed for a few reasons:
* All mach commands can use virtualenvs, not just `build`-related
  commands, so the files don't make sense to be in `build/`.
* When locking is added, more files associated with virtualenvs will be
  added, and this will change will ease the related directory structure
  setup.
* This removes the need for a redundant "_virtualenv_packages" keyword
  as part of the manifest filenames.

Differential Revision: https://phabricator.services.mozilla.com/D140382
2022-03-24 14:04:34 +00:00
Mike Hommey 2705287f4b Bug 1596656 - Move STRIP to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-strip when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136976
2022-01-28 03:00:13 +00:00
Mike Hommey 9a384df16e Bug 1596656 - Move OBJCOPY to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-objcopy when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136975
2022-01-28 03:00:13 +00:00
Marian-Vasile Laza 6705627752 Backed out 2 changesets (bug 1596656) for causing jittest failures on 1659595.js. CLOSED TREE
Backed out changeset da8f11880896 (bug 1596656)
Backed out changeset 6c8f3c0aac51 (bug 1596656)
2022-01-27 18:20:30 +02:00
Mike Hommey c403bed2a2 Bug 1596656 - Move STRIP to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-strip when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136976
2022-01-26 23:53:38 +00:00
Mike Hommey c45108f00b Bug 1596656 - Move OBJCOPY to python configure. r=firefox-build-system-reviewers,andi
As a bonus, we also check and prefer llvm-objcopy when it's suitable.

Differential Revision: https://phabricator.services.mozilla.com/D136975
2022-01-26 23:53:37 +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
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 cca868ba68 Bug 1730004 - Add a crate with diagnostic / nightly asserts. r=nika,emilio
Original patch by emilio.

Differential Revision: https://phabricator.services.mozilla.com/D125190
2022-01-07 21:24:45 +00:00
Mike Hommey b89cb6ae18 Bug 1748969 - Move definition of MOZ_DIAGNOSTIC_ASSERT_ENABLED to configure. r=emilio
Original patch by emilio.

Differential Revision: https://phabricator.services.mozilla.com/D135321
2022-01-07 21:24:44 +00:00
Mike Hommey c8dbb11daa Bug 1647542 - Handle host libraries properly when cross-compiling on Windows. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D135013
2022-01-05 00:47:55 +00:00
Mike Hommey 5f69025f05 Bug 1747863 - Use a more appropriate check to enable the VisualStudio backend. r=firefox-build-system-reviewers,mhentges
Bug 1322025 made it possible to depend on target/host in @depends
function that also depend on "--help".

Differential Revision: https://phabricator.services.mozilla.com/D134773
2021-12-30 01:38:27 +00:00
Mike Hommey f094186c6f Bug 1747501 - Move ZLIB_IN_MOZGLUE to python configure. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134643
2021-12-29 22:12:45 +00:00
Mike Hommey 906237b715 Bug 1747332 - s/check_build_environment/build_environment/. r=firefox-build-system-reviewers,geckoview-reviewers,andi,calu
Differential Revision: https://phabricator.services.mozilla.com/D134585
2021-12-23 20:47:47 +00:00
Mike Hommey f320f2e0e1 Bug 1743832 - Move bootstrap-related configure code to a separate file. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D134117
2021-12-17 22:47:50 +00:00
Ryan VanderMeulen 1aa61d071a Bug 1277320 - Run GTests on all Windows flavors as Tier 1. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D133450
2021-12-10 12:49:54 +00:00
Mike Hommey 52936a0022 Bug 1743033 - Avoid creating mach virtualenv when running confgure standalone. r=mhentges
Differential Revision: https://phabricator.services.mozilla.com/D132190
2021-11-26 01:56:04 +00:00
Mike Hommey a154421f99 Bug 1740042 - Use llvm-readelf instead of readelf when available. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D130949
2021-11-23 02:28:18 +00:00
Mitchell Hentges 725792bd05 Bug 1730712: Update "Moz site" terminology r=ahal
The existing terminology had two issues:
* `VirtualenvManager` wasn't always associated with an on-disk
  `virtualenv`: for example, when running in automation, Mach
  "activates" a `VirtualenvManager`, updating its import scope,
  but without ever creating an on-disk `virtualenv`.
* An upcoming patch splits the `VirtualenvManager` class, pulling
  "on-disk virtualenv-handling functions" from the project-wide
  interface for managing Python's import scope.

After some good discussion with Ahal, I think we've struck
the terminology that handles this distinction well: we'll call
the "import scope"-handling part the "site", and we'll continue
to call on-disk virtualenvs (and their representative classes)
as, well, virtualenvs.

Differential Revision: https://phabricator.services.mozilla.com/D130391
2021-11-17 20:54:23 +00:00
Greg Tatum 0f0b78cc1d Bug 1736907 - Add a build flag to experimentally build with ICU4X static data; r=platform-i18n-reviewers,dminor
Differential Revision: https://phabricator.services.mozilla.com/D129080
2021-11-16 15:09:09 +00:00
Marian-Vasile Laza 25a09c0d08 Backed out changeset 561c776bea20 (bug 1740042) for causing build bustages on llvm-readelf. 2021-11-16 02:51:16 +02:00
Mike Hommey 5459f879e5 Bug 1740042 - Use llvm-readelf instead of readelf when available. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D130949
2021-11-15 22:48:34 +00:00
Marian-Vasile Laza 51e3255d7c Backed out changeset bf55cb5e6b45 (bug 1740042) for causing build bustages. CLOSED TREE 2021-11-15 22:54:31 +02:00
Mike Hommey 2c9074abb8 Bug 1740042 - Use llvm-readelf instead of readelf when available. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D130949
2021-11-15 20:41:41 +00:00
Emilio Cobos Álvarez 270e255624 Bug 1738947 - Fix path to virtualenv.py. r=mhentges
It was moved in bug 1732948.

Differential Revision: https://phabricator.services.mozilla.com/D130195
2021-11-02 17:19:45 +00:00
Mike Hommey feecbbaa4f Bug 1731223 - Move wine detection to toolkit/moz.configure. r=firefox-build-system-reviewers,andi
As of now, wine is used with:
- fxc, which is detected in toolkit/moz.configure
- midl, which is detected in toolkit/moz.configure
- ml64 or armasm64, for some assembly sources that aren't used in
  projects that don't include toolkit/moz.configure.

We can thus move it there.

Differential Revision: https://phabricator.services.mozilla.com/D126166
2021-09-22 23:54:26 +00:00
Cristian Tuns afde9ef4f4 Backed out 2 changesets (bug 1731223) for likely causing localized Windows builds to break (bug 1732034) a=backout
Backed out changeset 0aa04e588a4e (bug 1731223)
Backed out changeset 59a15d9c5391 (bug 1731223)
2021-09-22 08:44:17 -04:00
Mike Hommey f2aef849b5 Bug 1731223 - Move wine detection to toolkit/moz.configure. r=firefox-build-system-reviewers,andi
As of now, wine is used with:
- fxc, which is detected in toolkit/moz.configure
- midl, which is detected in toolkit/moz.configure
- ml64 or armasm64, for some assembly sources that aren't used in
  projects that don't include toolkit/moz.configure.

We can thus move it there.

As of bug 1731195, there is no remaining use of wine for artifact
builds, so we also make it limited to builds with a compile environment.

Differential Revision: https://phabricator.services.mozilla.com/D126166
2021-09-21 20:51:24 +00:00
Noemi Erli 4e7f6a6a7e Backed out changeset e61e701731df (bug 1731223) for causing toolchains bustages 2021-09-18 02:03:28 +03:00
Mike Hommey 576ad5a0c7 Bug 1731223 - Wine is not optional on Windows cross-builds. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D125938
2021-09-17 21:34:46 +00:00
Mike Hommey e2e6bfc01f Bug 1731195 - Remove the wine-wrapping for makensis. r=firefox-build-system-reviewers,andi
Now that we have a bootstrappable linux-native makensis, we don't need
the wine-wrapping anymore.

Differential Revision: https://phabricator.services.mozilla.com/D125927
2021-09-17 09:11:22 +00:00
Mike Hommey 193d84c955 Bug 1731168 - Only look for non-versioned nsis. r=firefox-build-system-reviewers,mhentges
Now that we bootstrap it, we don't need to look for old versioned
versions from mozilla-build. While here stop looking for makensis when
not building for Windows.

Differential Revision: https://phabricator.services.mozilla.com/D125906
2021-09-17 01:19:05 +00:00
Mike Hommey 7e693067b8 Bug 1730825 - Bootstrap nsis for Windows builds. r=firefox-build-system-reviewers,andi
And at the same time, make the toolchain artifact directly usable on
cross-compiles.

Differential Revision: https://phabricator.services.mozilla.com/D125635
2021-09-15 08:33:04 +00:00
Mitchell Hentges c1f770eddb Bug 1727561: Tweak an exception's log level r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D123777
2021-08-31 15:38:40 +00:00
Mitchell Hentges fe7e7e5b9b Bug 1727561: Log exception in `bootstrap_toolchain_tasks()` r=firefox-build-system-reviewers,nalexander
This will ensure that recoverable failures in task-definition work won't
be hidden.

Differential Revision: https://phabricator.services.mozilla.com/D123638
2021-08-25 16:11:02 +00:00
Andi-Bogdan Postelnicu 0ac52aa9d7 Bug 1725125 - Make a hybrid build system combining non-unified with unified. CLOSED TREE
By hybrid unified system we understand a system that encapsulates modules that are built in the unified mode
but also other modules, like `dom/Animation`, as an example, in the non unified environment.

This approach is desirable since we already have most of the modules transitioned to the non unified system but there are
still some that are not yet compatible, but in the long term this will be done by each module owner and can be also tested
locally using the build system.

If a module can't be built outside the unified method it's `moz.build` config file needs to have `REQUIRES_UNIFIED_BUILD = False`

To also enable this we need to have a flag from `mozconfig`, like:

```
ac_add_options --disable-unified-build
```

Differential Revision: https://phabricator.services.mozilla.com/D122328
2021-08-25 11:21:42 +00:00
Narcis Beleuzu 50dd0540cd Backed out changeset 29d7e91fe721 (bug 1725125) for plain Bp-hybrid bustages 2021-08-25 14:42:09 +03:00
Andi-Bogdan Postelnicu 4b8a4fc95a Bug 1725125 - Make a hybrid build system combining non-unified with unified r=firefox-build-system-reviewers,mhentges,glandium
By hybrid unified system we understand a system that encapsulates modules that are built in the unified mode
but also other modules, like `dom/Animation`, as an example, in the non unified environment.

This approach is desirable since we already have most of the modules transitioned to the non unified system but there are
still some that are not yet compatible, but in the long term this will be done by each module owner and can be also tested
locally using the build system.

If a module can't be built outside the unified method it's `moz.build` config file needs to have `REQUIRES_UNIFIED_BUILD = False`

To also enable this we need to have a flag from `mozconfig`, like:

```
ac_add_options --disable-unified-build
```

Differential Revision: https://phabricator.services.mozilla.com/D122328
2021-08-25 10:46:18 +00:00
Mike Hommey b5fdfe98af Bug 1725855 - Don't default to system-zlib on macOS. r=firefox-build-system-reviewers,andi
pkg-config is not available by default on macOS, and we might as well
avoid configure defaults that may require it.

Differential Revision: https://phabricator.services.mozilla.com/D122794
2021-08-17 09:38:24 +00:00
Mike Hommey 170547001c Bug 1725092 - Change how --enable/disable-gtest-in-build is handled. r=firefox-build-system-reviewers,andi
So that --enable-gtest-in-build works in local builds.

Differential Revision: https://phabricator.services.mozilla.com/D122312
2021-08-11 05:45:06 +00:00
Mike Hommey dda1875bdd Bug 1721514 - Add a few more debugging logs about configure bootstrap. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D120416
2021-07-21 21:00:13 +00:00
Mike Hommey 5ac51ef77d Bug 1720806 - Avoid multiple calls to toolchain_task_definitions during configure. r=firefox-build-system-reviewers,mhentges
Bug 1692137 added code that would end up calling
toolchain_task_definitions twice, once for each of host and target.
With the recent changes from bug 1719229, that is not useful anymore.
We also don't need the toolchain prefixes for toolchains on unsupported
hosts (which were useful before bug 1719229 for the target sysroots).

Differential Revision: https://phabricator.services.mozilla.com/D120044
2021-07-16 20:59:35 +00:00
Mike Hommey 162f9b6800 Bug 1719229 - Rename the bootstrappable sysroot toolchains. r=firefox-build-system-reviewers,andi
In cross-compilation setups (x86_64 host, i686 or aarch64 target), we're
going to need two sysroots. Obviously, we need the sysroot paths to be
different in that case, so the sysroot path themselves need to contain
some distinctive name, and we'll use the `target.toolchain` name for
that (the target triplet with the vendor/machine stripped out).

Because the path name needs to be reflected in the artifact name as well
as the toolchain name, we also change them.

And because the current prefix in the toolchain name is now redundant
with the suffix, we remove the prefix, and allow the bootstrapping
mechanism to try toolchains without the prefix.

Differential Revision: https://phabricator.services.mozilla.com/D119846
2021-07-14 08:54:43 +00:00
Mike Hommey 8da6bc9f03 Bug 1719229 - Don't replace _ with - in toolchain names to bootstrap. r=firefox-build-system-reviewers,andi
This was originally done to avoid renaming the dump_syms toolchain, but
is going to cause problems for the next change.

Differential Revision: https://phabricator.services.mozilla.com/D119845
2021-07-14 08:54:42 +00:00
Mike Hommey 841e1d8a06 Bug 1717585 - Switch --enable-bootstrap on by default on central. r=firefox-build-system-reviewers,mhentges
As there are some things to solve first for the sysroot, we don't enable
the sysroot bootstrap unless --enable-bootstrap is given explicitly. The
default will still bootstrap everything else when building on central.

Differential Revision: https://phabricator.services.mozilla.com/D118450
2021-06-22 23:36:28 +00:00
Mike Hommey 9540e9a37c Bug 1716912 - Switch --enable-bootstrap on by default on Windows builds on central r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D118108
2021-06-22 02:16:47 +00:00
Emilio Cobos Álvarez 2a2dd88339 Bug 1717248 - Remove non-existing file from moz.configure. r=firefox-build-system-reviewers,nalexander
This fixes it for me. I believe this is right because the file it was inlined
into in D117711 is also on this list.

Differential Revision: https://phabricator.services.mozilla.com/D118277
2021-06-18 23:05:28 +00:00
Mike Hommey 83c4b6a318 Bug 1716911 - Switch --enable-bootstrap on by default on macos builds on central. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D118107
2021-06-17 04:59:42 +00:00