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

1721 Коммитов

Автор SHA1 Сообщение Дата
Mike Hommey cae349eade Bug 1726100 - Add a check for clang version for wasi targets. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D122825
2021-08-18 01:09:57 +00:00
Mike Hommey 50c875f45c Bug 1725855 - Don't set PKG_CONFIG_* on macOS. r=firefox-build-system-reviewers,andi
The sysroot setup on macOS is different from Linux, and pkg-config
files, if there are, would be coming from e.g. homebrew rather than
the macOS SDK.

Differential Revision: https://phabricator.services.mozilla.com/D122793
2021-08-17 09:38:23 +00:00
Mike Hommey cf1b10cb6e Bug 1725564 - Use the same base checks for WASM_{CC,CXX} as {CC,CXX}/HOST_{CC,CXX}. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122569
2021-08-14 00:53:52 +00:00
Mike Hommey 3d35cc105b Bug 1724522 - Auto-bootstrap the wasi sysroot for spidermonkey wasi builds. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D122403
2021-08-13 07:07:46 +00:00
Mike Hommey c39f6708e7 Bug 1724391 - Reset PKG_CONFIG_PATH. r=firefox-build-system-reviewers,mhentges
If it has a value set, that interferes with values we set to other
PKG_CONFIG_* variables for sysroots.

Differential Revision: https://phabricator.services.mozilla.com/D122287
2021-08-11 22:03:14 +00:00
Mike Hommey a054bdd0de Bug 1723953 - Fix using the bootstrapped sysroot with GCC. r=firefox-build-system-reviewers,andi
While some custom builds of GCC work successfully, system GCC builds
usually don't, because of several factors:
- they don't use the C++ headers or libstdc++.so from the sysroot
- they don't necessarily know to use the multiarch directories in the
  sysroot

Differential Revision: https://phabricator.services.mozilla.com/D121946
2021-08-11 21:51:11 +00:00
Mike Hommey e5492f70e1 Bug 1723953 - pre: Add min/max to the python configure sandbox. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121945
2021-08-11 21:51:11 +00:00
Mike Hommey a673ae0901 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-11 07:47:14 +00:00
Mike Hommey d784654760 Bug 1724374 - Use --sysroot on mac builds. r=firefox-build-system-reviewers,andi
We're currently using -isysroot as a preprocessor flag and
-Wl,--syslibroot/-Wl,--sysroot as a linker flag, but --sysroot is
generalization of both, so we can use that instead.

Differential Revision: https://phabricator.services.mozilla.com/D121943
2021-08-11 07:47:13 +00:00
Mike Hommey d873082139 Bug 1724606 - Replace uses of MACOSX_DEPLOYMENT_TARGET env variable with -mmacosx-version-min flag. r=firefox-build-system-reviewers,andi
They are equivalent, except for the fact that MACOSX_DEPLOYMENT_TARGET
may apply to more processes in a normal build. In practice, all the
processes that matter are covered through compiler flags.

On the opposite end, MACOSX_DEPLOYMENT_TARGET isn't necessary passed in
all cases (like clangd, mach static-analysis, etc.), while compiler
flags are.

Differential Revision: https://phabricator.services.mozilla.com/D122145
2021-08-11 07:40:57 +00:00
Mike Hommey e54462618c Bug 1724830 - Remove MOZ_LIBSTDCXX_*_VERSION. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D122197
2021-08-10 21:16:18 +00:00
Mike Hommey 0fd10d96b0 Bug 1724830 - Only allow --enable-stdcxx-compat when building on or targetting Linux. r=firefox-build-system-reviewers,andi
As this means stdc++compat also would need to be built when
cross-building for Windows on Linux, we also recurse in the stdc++compat
directory in that case. It was already possible to use
--enable-stdcxx-compat in that configuration, and that wasn't working
(there are other problems that prevent it from working, but we're going
to fix them shortly).

Differential Revision: https://phabricator.services.mozilla.com/D122195
2021-08-10 21:16:18 +00:00
Mike Hommey 83fb89d35f Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-10 20:38:51 +00:00
Iulian Moraru 4c78d68cdc Backed out changeset a1a730897df8 (bug 1723956) for causing build bustages. CLOSED TREE 2021-08-10 01:38:42 +03:00
Mike Hommey 4a06fcb21e Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-09 21:50:04 +00:00
Iulian Moraru 7aabed9987 Backed out changeset 9e46bdf03189 (bug 1723956) for causing build bustages. CLOSED TREE 2021-08-10 00:21:40 +03:00
Mike Hommey 555812aff8 Bug 1723956 - Make --without-sysroot work again. r=firefox-build-system-reviewers,mhentges
Also make it not bootstrap a host sysroot.

Differential Revision: https://phabricator.services.mozilla.com/D121815
2021-08-09 21:08:43 +00:00
Mike Hommey 8000090ec7 Bug 1724372 - Simplify the handling of compiler wrappers. r=firefox-build-system-reviewers,andi
As we don't do subconfigures anymore, we don't need to remove redundant
compiler wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D121942
2021-08-07 21:36:42 +00:00
Brindusan Cristian 10c5583558 Backed out 4 changesets (bug 1724372, bug 1724374) for causing macos non-unified build bustages in BlockingResourceBase.h.
CLOSED TREE

Backed out changeset a8d4d6248454 (bug 1724374)
Backed out changeset 030e725b4799 (bug 1724374)
Backed out changeset 9c32dfd8b694 (bug 1724374)
Backed out changeset d1096773021b (bug 1724372)
2021-08-07 05:49:03 +03:00
Mike Hommey ab833087f4 Bug 1724374 - Handle the macos SDK through the same code paths as sysroots. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D121944
2021-08-06 23:31:50 +00:00
Mike Hommey af61d5c6de Bug 1724374 - Use --sysroot on mac builds. r=firefox-build-system-reviewers,andi
We're currently using -isysroot as a preprocessor flag and
-Wl,--syslibroot/-Wl,--sysroot as a linker flag, but --sysroot is
generalization of both, so we can use that instead.

Differential Revision: https://phabricator.services.mozilla.com/D121943
2021-08-06 23:31:50 +00:00
Mike Hommey 24ca32075f Bug 1724372 - Simplify the handling of compiler wrappers. r=firefox-build-system-reviewers,andi
As we don't do subconfigures anymore, we don't need to remove redundant
compiler wrappers anymore.

Differential Revision: https://phabricator.services.mozilla.com/D121942
2021-08-06 23:31:50 +00:00
Mike Hommey eb3e595496 Bug 1724145 - Set ac_cv_path_AS for old-configure too. r=firefox-build-system-reviewers,andi
There are two different codepaths in old-configure for AS, and one of
them uses ac_cv_prog_AS and the other ac_cv_path_AS. We thus need to set
both.

Differential Revision: https://phabricator.services.mozilla.com/D121828
2021-08-05 08:13:45 +00:00
Mike Hommey 9b8c038970 Bug 1723865 - Define --enable-system-pixman as a system_lib_option(). r=firefox-build-system-reviewers,mhentges
We do so as a side effect of using system_lib_option for all *-system-*
options for old-configure, all but one of which are for system
libraries.

Differential Revision: https://phabricator.services.mozilla.com/D121690
2021-08-04 21:08:22 +00:00
Mike Hommey 25c71f548b Bug 1722653 - Remove --enable-system-cairo. r=firefox-build-system-reviewers,jrmuizel,andi
It hasn't been supported since bug 1432751, > 3 years ago.

Differential Revision: https://phabricator.services.mozilla.com/D121063
2021-07-29 23:38:30 +00:00
Mike Hommey 535ec6ed75 Bug 1722442 - Fix the logic that determines when a sysroot was bootstrapped. r=firefox-build-system-reviewers,andi
Bug 1721514 broke what was done in bug 1694884.

Differential Revision: https://phabricator.services.mozilla.com/D120926
2021-07-29 22:23:44 +00:00
Mike Hommey e0929c4c22 Bug 1722652 - Reduce the number of flags passed to bindgen. r=firefox-build-system-reviewers,necko-reviewers,andi,dragana
Originally, we only were using bindgen for stylo, and we also went a bit
overkill by including a lot of extra CFLAGS in there, which end up
being unnecessary. So we now only pass a more minimal set of flags, and
add some extra CFLAGS in cases where they are necessary.

Differential Revision: https://phabricator.services.mozilla.com/D121043
2021-07-28 20:37:49 +00:00
Mike Hommey 3f28878f58 Bug 1721755 - Only set EARLY_BETA_OR_EARLIER on beta and earlier. r=firefox-build-system-reviewers,andi,mhentges
This matches the spirit of what BUILDING_RELEASE used to do before bug
1597834.

Differential Revision: https://phabricator.services.mozilla.com/D120563
2021-07-22 21:28:58 +00:00
Mike Kaply f2649915eb Bug 1720389 - Add IS_ESR to AppConstants and rename ESR #ifdef to MOZ_ESR. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D120371
2021-07-22 20:00:26 +00:00
Csoregi Natalia 83665672f5 Backed out changeset 0f05cde26de6 (bug 1721755) as requested. CLOSED TREE 2021-07-22 10:41:28 +03:00
Mike Hommey 5b04b2c5b6 Bug 1721755 - Only set EARLY_BETA_OR_EARLIER on beta. r=firefox-build-system-reviewers,andi
This matches the spirit of what BUILDING_RELEASE used to do before bug
1597834.

Differential Revision: https://phabricator.services.mozilla.com/D120563
2021-07-22 07:12:59 +00:00
Butkovits Atila f746b6734e Bug 1721514 - fix black lint failure CLOSED TREE 2021-07-22 02:48:19 +03:00
Mike Hommey 6f6b4a5e21 Bug 1721514 - Use bootstrapped sysroot when it's there. r=firefox-build-system-reviewers,andi
We do that with everything else (i.e. clang, cbindgen, etc.). We weren't
doing it for sysroots because the support was experimental and the path
was independent of the target, so there was no guarantee that the
sysroot would actually work for the target. As that's not the case
anymore, we can go with more consistency with the bootstrapped
toolchains.

Differential Revision: https://phabricator.services.mozilla.com/D120417
2021-07-21 21:00:14 +00:00
Bob Owen b2d767fbb9 Bug 1716024 p2: Flag all binaries apart from firefox, xpcshell and plugin-container as CET compatible. r=glandium
We will only run the processes in CET compatible modules only mode when not
using the JIT code. So marking xul.dll as compatible should be OK.

Differential Revision: https://phabricator.services.mozilla.com/D117551
2021-07-19 07:36:19 +00:00
Mike Hommey 3b541bbb87 Bug 1720806 - Enable sysroot bootstrapping by default. r=firefox-build-system-reviewers,mhentges
Differential Revision: https://phabricator.services.mozilla.com/D120045
2021-07-16 20:59:36 +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 9aa3587bbf Bug 1694884 - Fail configure when using --*-system-* options with a bootstrapped sysroot. r=firefox-build-system-reviewers,mhentges
The bootstrapped sysroot doesn't contain all the system libraries that
would allow these options to be supported.

Differential Revision: https://phabricator.services.mozilla.com/D120043
2021-07-16 20:51:27 +00:00
Benjamin Beurdouche fbf40a7e56 Bug 1720464 - land NSS b1eac8c86e99 UPGRADE_NSS_RELEASE, r=beurdouche
Differential Revision: https://phabricator.services.mozilla.com/D119914
2021-07-14 20:05:21 +00:00
Mike Hommey 487119e349 Bug 1719229 - Allow the build system to use a sysroot for the host part of the build. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D119847
2021-07-14 08:54:43 +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 627c20902f Bug 1576099 - Allow to forcefully enable cargo incremental. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D119714
2021-07-13 20:31:37 +00:00
Mike Hommey a6909dc7da Bug 1719852 - Disable MOZ_REQUIRE_SIGNING on esr. r=jcristau,firefox-build-system-reviewers,mhentges
It was enabled in bug 1712633 by mistake.

Because there wasn't a way to distinguish esr yet, we add one, and while
at it, expose it to the build system.

Differential Revision: https://phabricator.services.mozilla.com/D119682
2021-07-13 08:43:52 +00:00
Mike Hommey 544436ed03 Bug 1718156 - Avoid some configure tests creating the common virtualenv. r=firefox-build-system-reviewers,mhentges,andi
When running `mach python-test` on a clobbered tree, we create both the
python-test and common virtualenvs, but the former should be enough. The
latter is only created when running tests that use the BaseConfigureTest
class, when it indirectly includes init.configure, which makes the
configure sandbox run the virtualenv_python3 function, which ends up
initializing the common virtualenv. We only don't end up re-executing
that virtualenv python thanks to 6680ca0acc27 which was a workaround
that would allow any virtualenv in $objdir/_virtualenvs, while still
creating a virtualenv it won't use.

Tests now tell virtualenv_python3 to not use the normal virtualenv
manager, and remove the workaround.

Differential Revision: https://phabricator.services.mozilla.com/D118775
2021-07-05 22:33:56 +00:00
Chris Peterson 4b046732a8 Bug 1718936 - Backed out changeset f3cd92f7cd0d: Restore -Wno-range-loop-analysis. r=andi,firefox-build-system-reviewers
I removed the -Wno-range-loop-analysis warning flag in bug 1718408 because I didn't see any build failures on Try without it, but apparently I missed some.

Differential Revision: https://phabricator.services.mozilla.com/D119039
2021-07-05 06:43:44 +00:00
Chris Peterson 5897c59302 Bug 1718408 - Remove unnecessary -Wloop-analysis flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wloop-analysis because it just enables:

* -Wrange-loop-analysis, which we manually disable.
* -Wfor-loop-analysis, which is enabled by -Wmost, which is enabled by -Wall:

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

Depends on D118900

Differential Revision: https://phabricator.services.mozilla.com/D118901
2021-07-01 18:37:42 +00:00
Chris Peterson 5294042de2 Bug 1718408 - Remove unnecessary -Woverloaded-virtual flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Woverloaded virtual because:

* On gcc, we disable it.
* On clang, it is enabled by -Wmost, which is enabled -Wall:

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

Depends on D118899

Differential Revision: https://phabricator.services.mozilla.com/D118900
2021-07-01 18:37:41 +00:00
Chris Peterson a2f4831bdc Bug 1718408 - Remove unnecessary -Wtautological-*-compare flags. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wtautological-overlap-compare because it is enabled by -Wtautological-compare, which is enabled by -Wmost, which is enabled by -Wall:

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

We don't need to manually enable -Wtautological-unsigned-enum-zero-compare or -Wtautological-unsigned-zero-compare because they are enabled by -Wtype-limits, which we already enable manually:

https://clang.llvm.org/docs/DiagnosticsReference.html#wtype-limits

Depends on D118898

Differential Revision: https://phabricator.services.mozilla.com/D118899
2021-07-01 18:37:41 +00:00
Chris Peterson 79616311ea Bug 1718408 - Remove unnecessary -Wunused-function and -Wunused-variable flags. r=firefox-build-system-reviewers,andi
We don't need to manually enabled -Wunused-function or -Wunused-variable because they are enabled by -Wunused, which is enabled by -Wmost, which is enabled by -Wall.

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

Depends on D118897

Differential Revision: https://phabricator.services.mozilla.com/D118898
2021-07-01 18:37:41 +00:00
Chris Peterson 6bce3b14d4 Bug 1718408 - Remove unnecessary -Wwrite-strings flag. r=firefox-build-system-reviewers,andi
We don't need to manually enable -Wwrite-strings because it is enabled by default in C++11 and we currently compile Firefox as C++17.

https://clang.llvm.org/docs/DiagnosticsReference.html#wwritable-strings

Depends on D118896

Differential Revision: https://phabricator.services.mozilla.com/D118897
2021-07-01 18:37:40 +00:00
Chris Peterson 94283e10db Bug 1718408 - Enable some clang warning flags that are currently warning-free. r=firefox-build-system-reviewers,andi
-Wdeprecated-this-capture (in a lambda expression)
warning: implicit capture of ‘this’ with a capture default of ‘=’ is deprecated
https://clang.llvm.org/docs/DiagnosticsReference.html#wdeprecated-this-capture

-Wenum-compare-conditional
Example: return foo ? enumType1 : enumType2; // deprecated in C++20
https://clang.llvm.org/docs/DiagnosticsReference.html#wenum-compare-conditional

-Wformat-type-confusion (in a sprintf-like format function)
warning: format specifies type A (e.g. short) but the argument has type B (e.g. char)
https://clang.llvm.org/docs/DiagnosticsReference.html#wformat-type-confusion

-Wshadow-uncaptured-local (variable declared in a lambda expression)
warning: declaration shadows a local variable
warning: declaration shadows a variable in C
warning: declaration shadows a static data member of C
warning: declaration shadows a field of C
warning: declaration shadows a typedef in C
warning: declaration shadows a type alias in C
warning: declaration shadows a structured binding
https://clang.llvm.org/docs/DiagnosticsReference.html#wshadow-uncaptured-local

Differential Revision: https://phabricator.services.mozilla.com/D118896
2021-07-01 18:37:40 +00:00