Commit Graph

1159 Commits

Author SHA1 Message Date
Mike Hommey
6c4c88d691 Bug 1854493 - Use -O2 on Linux debug builds. r=firefox-build-system-reviewers,ahochheiden
Linux is the only platform where we have a different optimization level
between normal and debug builds. That comes from bug 1368649, but was
not the original intent: the first landing for that bug actually set the
optimization level to -O2 for all non-PGO Linux builds, but that caused
build problems on the debug builds with the compiler used at the time.

Time has passed, compiler versions have been released, and, in fact,
back then we were still compiling with gcc for the shipped builds.

It's time to go with the original intent.

Differential Revision: https://phabricator.services.mozilla.com/D188896
2023-09-22 02:27:22 +00:00
Masatoshi Kimura
859181dc99 Bug 1849927 - Bump WINVER to 0x0A00. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D186750
2023-09-06 19:30:04 +00:00
Makoto Kato
0a24df1b97 Bug 1847958 - Use -Oz for optimize option on GeckoView all channels. r=firefox-build-system-reviewers,glandium
Due to size limit of APK, we should use `-Oz` instead of `-O2` even if Nightly.
Actually, Nightly is `-O2` and Others (Beta and Release) are `-Oz`.

As long as I look perf data (bug 1831935 etc) after testing -O2, improvement is still
small (It seems to be small improvement of AndroidStartup only).

Also, this fix removes gcc support of GeckoView build since NDK removes gcc now.

Differential Revision: https://phabricator.services.mozilla.com/D185817
2023-08-10 04:36:33 +00:00
Masatoshi Kimura
cba55b285f Bug 1842497 - Unship all Universal CRT DLLs. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D183099
2023-07-15 12:29:51 +00:00
Masatoshi Kimura
7dead3b4c9 Bug 1836875 - Bump subsystem version to 10.0 to block Firefox from running on Windows 7/8/8.1. r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D180025
2023-07-14 18:45:24 +00:00
Cristian Tuns
377011cc9e Backed out 2 changesets (bug 1836874, bug 1836875) because will break win PGO and SM jobs(as requested by Ryan) CLOSED TREE
Backed out changeset 706fc856ba78 (bug 1836875)
Backed out changeset 93c2b16409e0 (bug 1836874)
2023-07-02 08:15:24 -04:00
Masatoshi Kimura
424038f49e Bug 1836875 - Bump subsystem version to 8.1 to block Firefox from running on Windows 7/8. r=firefox-build-system-reviewers,glandium
We can't block Windows 8.1 until buildbots migrates into win-2022.
(bug 1837000)

Differential Revision: https://phabricator.services.mozilla.com/D180025
2023-07-02 10:10:47 +00:00
mleclair
c5239761fe Bug 1840494: Reverts changes from bug 1831935 for non-nightly r=glandium,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D182251
2023-06-28 06:11:18 +00:00
Mike Hommey
aeda70c3cf Bug 1839743 - Use packed relative relocations instead of elfhack on systems that support them. r=firefox-build-system-reviewers,andi
Differential Revision: https://phabricator.services.mozilla.com/D181687
2023-06-27 08:56:17 +00:00
mleclair
9534fb1a7e Bug 1831935: optimize android gecko for O2 r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D177407
2023-06-14 15:13:40 +00:00
Sandor Molnar
edd5faa3aa Backed out changeset 4d1fd23e1929 (bug 1831935) for causing reftest failures. CLOSED TREE 2023-06-06 01:07:42 +03:00
Haik Aftandilian
91fff12722 Bug 1827747 - Use a new executable for the macOS GMP process r=nika,glandium
Use a new executable for the GMP process named "<App Name> Media Plugin Helper" so that the content processes (using the plugin-container executable) and the GMP process can be signed with different entitlements allowing for the use of more secure entitlements.

In order for the new executable to load the Widevine plugin, a change is needed in the codesigning infrastructure repo to generate the .sig file for the new executable.

To get the security benefits of using a new executable for GMP, additional changes are needed in the codesigning infrastructure repo to enable signing plugin-container and the new executable with a reduced set of entitlements.

The executable is a copy of plugin-container renamed as "<App Name> Media Plugin Helper" so it appears with a user friendly name in Activity Monitor. For example, "Firefox Media Plugin Helper". (The GMP process runs with limited privileges preventing it from setting its own "nice" process name.)

Pref off the change until the .sig file change lands and media playback has been validated on production builds.

Differential Revision: https://phabricator.services.mozilla.com/D175796
2023-06-05 20:40:10 +00:00
mleclair
cf96818bc6 Bug 1831935: optimize android gecko for O2 r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D177407
2023-06-05 18:17:53 +00:00
Mike Hommey
63148715c6 Bug 1834446 - Move otool detection to python configure. r=firefox-build-system-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D178750
2023-05-24 21:27:03 +00:00
James Teh
cd328c4093 Bug 1821963 part 3: Remove various components supporting the old accessibility architecture based on content process COM proxies. r=nlapre,nalexander
This includes AccessibleHandler, HandlerProvider, IGeckoCustom and the IAccessible2 COM proxy dll.
Even with the new architecture, we still use IAccessible2, but we no longer need a COM proxy because we aren't using COM across processes ourselves.
If clients want to use IAccessible2 across processes, they're responsible for registering a COM proxy themselves as with all other IAccessible2 applications.
Alternatively, they can rely on the IAccessible2 COM proxy which is included with Windows 10 and later.

Differential Revision: https://phabricator.services.mozilla.com/D177963
2023-05-22 20:19:45 +00:00
Narcis Beleuzu
ed1139f199 Backed out 6 changesets (bug 1821963) for build bustages. CLOSED TREE
Backed out changeset a92c62e304f0 (bug 1821963)
Backed out changeset da6cba0b0dd4 (bug 1821963)
Backed out changeset 4ed7ca0eb04a (bug 1821963)
Backed out changeset f2fba0ef15d9 (bug 1821963)
Backed out changeset 706e46fc2688 (bug 1821963)
Backed out changeset 6de2b9548dc6 (bug 1821963)
2023-05-22 14:05:20 +03:00
James Teh
3a3b50114d Bug 1821963 part 3: Remove various components supporting the old accessibility architecture based on content process COM proxies. r=nlapre,nalexander
This includes AccessibleHandler, HandlerProvider, IGeckoCustom and the IAccessible2 COM proxy dll.
Even with the new architecture, we still use IAccessible2, but we no longer need a COM proxy because we aren't using COM across processes ourselves.
If clients want to use IAccessible2 across processes, they're responsible for registering a COM proxy themselves as with all other IAccessible2 applications.
Alternatively, they can rely on the IAccessible2 COM proxy which is included with Windows 10 and later.

Differential Revision: https://phabricator.services.mozilla.com/D177963
2023-05-22 10:00:21 +00:00
Narcis Beleuzu
7e5789cdf8 Backed out 2 changesets (bug 1834172, bug 1827747) for breaking local artifacts . a=backout
Backed out changeset 0ceb457743b4 (bug 1834172)
Backed out changeset 7ad6a3ad9db7 (bug 1827747)
2023-05-22 12:42:00 +03:00
Haik Aftandilian
a34208222c Bug 1827747 - Use a new executable for the macOS GMP process r=nika,glandium
Use a new executable for the GMP process named "<App Name> Media Plugin Helper" so that the content processes (using the plugin-container executable) and the GMP process can be signed with different entitlements allowing for the use of more secure entitlements.

To get the benefits of using a new executable for GMP, additional changes are needed in the codesigning infrastructure repo to enable signing plugin-container and the new executable with a reduced set of entitlements.

The executable is built as media-plugin-helper and then renamed to "<App Name> Media Plugin Helper" so it appears with a user friendly name in Activity Monitor. For example, "Firefox Media Plugin Helper". (The GMP process runs with limited privileges preventing it from setting its own "nice" process name.)

Limit the change to Nightly at this time to allow validation of using a new executable and then enabling the strong entitlements.

Differential Revision: https://phabricator.services.mozilla.com/D175796
2023-05-19 16:47:28 +00:00
Norisz Fay
114ea61e5b Backed out changeset b13e72246d35 (bug 1831935) for causing android reftest and mochitest failures CLOSED TREE 2023-05-18 00:20:02 +03:00
mleclair
07545842b3 Bug 1831935: optimize android gecko for O2 r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D177407
2023-05-17 18:28:04 +00:00
Mike Hommey
01e5cb5949 Bug 1832467 - Add the new vcruntime140_1.dll file when building with VS 2019. r=firefox-build-system-reviewers,andi,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D177716
2023-05-11 21:30:15 +00:00
Chris Peterson
03f125ade5 Bug 1832219 - Define _USE_MATH_DEFINES and M_PI on both regular and mingw Windows builds. r=firefox-build-system-reviewers,cubeb-reviewers,glandium,padenot
Without _USE_MATH_DEFINES, Windows' math.h doesn't define M_PI. Since _USE_MATH_DEFINES is defined globally, redundant definitions of _USE_MATH_DEFINES in moz.build files can be removed.

obj-build/dist/include/mozilla/ServoStyleConstsInlines.h:396:32: error: use of undeclared identifier 'M_PI'
obj-build/dist/include/mozilla/StaticPrefList_apz.h:133:22: error: use of undeclared identifier 'M_PI'
obj-build/dist/include/mozilla/gfx/PathHelpers.h:139:33: error: use of undeclared identifier 'M_PI'

Differential Revision: https://phabricator.services.mozilla.com/D177590
2023-05-11 02:45:40 +00:00
Iulian Moraru
267b8d8ba7 Backed out changeset 21b2831713e7 (bug 1831935) for causing multiple failures. CLOSED TREE 2023-05-09 03:38:25 +03:00
mleclair
c4c8eb8643 Bug 1831935: optimize android gecko for O2 r=firefox-build-system-reviewers,glandium
Differential Revision: https://phabricator.services.mozilla.com/D177407
2023-05-08 22:06:04 +00:00
Mike Hommey
0fab23d30b Bug 1829049 - Unambiguously enable STL wrapping on all platforms. r=firefox-build-system-reviewers,ahochheiden
First, the setup in js/src/old-configure.in was actually doing nothing
for js, since there weren't corresponding AC_SUBST/AC_SUBST_LIST.

As mentioned in the commit message for bug 1274334, libmozglue contains
operator new/operator delete overrides, so this didn't cause much harm,
especially because js has limited use of plain operator new.

Second, we take on the occasion to move the definitions to python
configure. To match when the STL wrapping was enabled, we move it to
toolkit/moz.configure, which is included by all Gecko-based projects,
but explicitly not by standalone js (preserving its previous behavior,
which is actually desirable for standalone js), and not by other
projects such as tools/crashreporter/injects.

Differential Revision: https://phabricator.services.mozilla.com/D175980
2023-04-27 06:11:36 +00:00
Cosmin Sabou
566f69826b Backed out 3 changesets (bug 1829049) for causing nightlyasrelease build bustage.
Backed out changeset 0dad03fea3eb (bug 1829049)
Backed out changeset 1350772f04de (bug 1829049)
Backed out changeset 2585980fa4fe (bug 1829049)
2023-04-27 07:38:40 +03:00
Mike Hommey
a533b1ac51 Bug 1829049 - Unambiguously enable STL wrapping on all platforms. r=firefox-build-system-reviewers,ahochheiden
First, the setup in js/src/old-configure.in was actually doing nothing
for js, since there weren't corresponding AC_SUBST/AC_SUBST_LIST.

As mentioned in the commit message for bug 1274334, libmozglue contains
operator new/operator delete overrides, so this didn't cause much harm,
especially because js has limited use of plain operator new.

Second, we take on the occasion to move the definitions to python
configure. To match when the STL wrapping was enabled, we move it to
toolkit/moz.configure, which is included by all Gecko-based projects,
but explicitly not by standalone js (preserving its previous behavior,
which is actually desirable for standalone js), and not by other
projects such as tools/crashreporter/injects.

Differential Revision: https://phabricator.services.mozilla.com/D175980
2023-04-26 23:32:16 +00:00
Mike Hommey
0f8fb663a1 Bug 1829852 - Partially revert bug 1799002 part 2. r=nalexander
Bug 1799002 meant to remove the Android parts, but removed more,
introducing a regression on non-developer builds. We restore the
parts of old-configure.in that were removed, but leave out the
Android parts.

Differential Revision: https://phabricator.services.mozilla.com/D176484
2023-04-26 04:12:11 +00:00
Mike Hommey
acbe860fc5 Bug 1274334 - Enable STL wrappers on macos. r=firefox-build-system-reviewers,ahochheiden
Practically speaking, this doesn't make a huge difference, because
libmozglue contains operator new/operator delete overrides. This will
enable inlining opportunities, though.

It is worth noting that there's equivalent code in
js/src/old-configure.in but it's left as is because it is actually no-op
at the moment. This will be fixed in bug 1829049.

The check for __EXCEPTIONS is replaced with __cpp_exceptions because the
former is defined for any type of exception, including ObjC exceptions,
while the latter is defined for C++ exceptions only.

Differential Revision: https://phabricator.services.mozilla.com/D175976
2023-04-26 02:44:12 +00:00
Nick Alexander
372a5b71ea Bug 1799002 - Part 2: Remove Android workarounds for Bug 1627796. r=geckoview-reviewers,firefox-build-system-reviewers,glandium,m_kato
The underlying Android-Gradle plugin bug has been addressed, so we no
longer see the issue, and therefore we don't need this complicated
"library set generation ID" workaround at all!

Differential Revision: https://phabricator.services.mozilla.com/D175167
2023-04-24 20:11:57 +00:00
Natalia Csoregi
56e93e216a Backed out changeset 35f665d19e3a (bug 1274334) for causing Gtest failures on STLWrapper. CLOSED TREE 2023-04-21 15:35:35 +03:00
Mike Hommey
45f37efa8c Bug 1274334 - Enable STL wrappers on macos. r=firefox-build-system-reviewers,ahochheiden
Practically speaking, this doesn't make a huge difference, because
libmozglue contains operator new/operator delete overrides. This will
enable inlining opportunities, though.

It is worth noting that there's equivalent code in
js/src/old-configure.in but it's left as is because it is actually no-op
at the moment. This will be fixed in bug 1829049.

The check for __EXCEPTIONS is replaced with __cpp_exceptions because the
former is defined for any type of exception, including ObjC exceptions,
while the latter is defined for C++ exceptions only.

Differential Revision: https://phabricator.services.mozilla.com/D175976
2023-04-21 09:37:19 +00:00
Natalia Csoregi
639fa048d6 Backed out changeset 0ddf006ab8f0 (bug 1274334) for causing win 2012 bustages on WebGLRenderingContextBinding.h. CLOSED TREE 2023-04-21 12:11:01 +03:00
Mike Hommey
1b4a9de576 Bug 1274334 - Enable STL wrappers on macos. r=firefox-build-system-reviewers,ahochheiden
Practically speaking, this doesn't make a huge difference, because
libmozglue contains operator new/operator delete overrides. This will
enable inlining opportunities, though.

It is worth noting that there's equivalent code in
js/src/old-configure.in but it's left as is because it is actually no-op
at the moment. This will be fixed in bug 1829049.

The check for __EXCEPTIONS is replaced with __cpp_exceptions because the
former is defined for any type of exception, including ObjC exceptions,
while the latter is defined for C++ exceptions only.

Differential Revision: https://phabricator.services.mozilla.com/D175976
2023-04-21 08:26:50 +00:00
Makoto Kato
8d4bc253e5 Bug 1814802 - Move STLPORT_LIBS to moz.configure. r=firefox-build-system-reviewers,glandium
android.m4 has old code for old NDK that we don't support, so this fix removes it.

Differential Revision: https://phabricator.services.mozilla.com/D168761
2023-02-14 02:29:22 +00:00
Mike Hommey
527cda6f68 Bug 1806470 - Still set some build-id on local builds. r=firefox-build-system-reviewers,andi
Bug 1796518 removed the build-id on local builds because it's faster to
do so, but it may be desirable to still have /some/ build-id, even if
it's random, so use a uuid on local builds instead of none at all.

Differential Revision: https://phabricator.services.mozilla.com/D166615
2023-01-12 20:54:52 +00:00
Mike Hommey
237727fbe0 Bug 1804605 - Remove leftovers from bug 1520340. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D164186
2022-12-12 21:43:52 +00:00
Mike Hommey
9170271cd5 Bug 1804605 - Move MOZ_DATA_REPORTING to python configure. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D164185
2022-12-12 21:43:52 +00:00
Mike Hommey
97cebe501d Bug 1804605 - Stop setting MOZ_DISTRIBUTION_ID as a global define. r=firefox-build-system-reviewers,nalexander
There's only one place using the define.

Differential Revision: https://phabricator.services.mozilla.com/D164184
2022-12-12 21:43:51 +00:00
Mike Hommey
b2cc8ec2c0 Bug 1802228 - Select a host linker in the same manner we do for the target linker. r=firefox-build-system-reviewers,ahochheiden
Differential Revision: https://phabricator.services.mozilla.com/D162912
2022-11-25 01:56:38 +00:00
Mike Hommey
402fce07b9 Bug 1796518 - Tweak lld flags for faster linkage on developer builds. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D159832
2022-10-25 22:58:25 +00:00
Mike Hommey
8f4d47c529 Bug 1795207 - Move the remainder of warning flags setup in old-configure to python. r=firefox-build-system-reviewers,andi
While we're here, make the setup more consistent across host/target
c/c++, and remove the C compiler warning flags from the C linker flags,
where they are irrelevant.

Differential Revision: https://phabricator.services.mozilla.com/D159358
2022-10-18 19:46:44 +00:00
Mike Hommey
859225f457 Bug 1762484 - Enable most of the same warnings on Windows as on other platforms. r=firefox-build-system-reviewers,andi
This moves the manual addition of some flags from old-configure to
python configure, and disables the set of flags that still trigger a
bunch of warnings (which -Werror turns into bustage).

Differential Revision: https://phabricator.services.mozilla.com/D144406
2022-04-25 22:21:31 +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
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
Mike Hommey
030d0c0e9e Bug 1752252 - Remove leftovers from bug 1741205. r=firefox-build-system-reviewers,nalexander
Differential Revision: https://phabricator.services.mozilla.com/D137096
2022-01-28 00:20:46 +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
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