Commit graph

106 commits

Author SHA1 Message Date
Job Bautista
b592711bb2 Issue #2221 - Enable link-time optimization for Spidermonkey by default if building it shared.
Currently only Windows can take advantage of this.

The reason why the arrays of deunified sources are named like that in
Spidermonkey's moz.build is to avoid UnsortedErrors in python. There's probably
a better way to handle that, but I just want something that works for now.

And yes, the deunified sources will be reunified if LTO is disabled.
2023-05-01 06:52:48 +08:00
Job Bautista
b5d5963a4f Issue #2191 - Remove as much old fontconfig support as needed for Harfbuzz update.
Based on Mozilla bugs 1119128, 1285533, and 1421964.

gfx.font_rendering.fontconfig.fontlist.enabled is no longer available.

gfxFontconfigUtils.h still exists, and will be removed in another commit. Just
need more research on bug 1385029.

Tag #1862
2023-04-07 08:23:07 +08:00
Job Bautista
9ff14017e5 Issue #324 - Follow-up: Remove more traces of *INTL_API.
The trace in Spidermonkey's old-configure is causing the MOZ_CONFIG_ICU function
to be called twice, which is not desirable as it can cause the MOZ_SHARED_ICU
check in build/autoconf/icu.m4 to fail and build an ICU data file even if we're
building ICU as a shared library.
2023-03-28 12:12:42 +08:00
Job Bautista
bad884a7c7 Issue #2165 - Build ICU as a shared library if we're building Spidermonkey shared.
It seems that if we're going to enable JS_SHARED_LIBRARY, we need ICU to be a
shared library too in order to prevent code duplication in mozjs.dll bloating
it to a whopping 21 MB.
This unfortunately means we have to fold icudata back to icu itself. But since
icudata is still separated from libxul (which is what really matters for #1451),
I think this is a fair compromise.
Building ICU as shared is offered as an option via --enable-shared-icu. But
technically you really need --enable-shared-icu if you're going to use
--enable-shared-js. Unfortunately I can't make configure exit with an error if
MOZ_SHARED_ICU is not defined when JS_SHARED_LIBRARY is enabled, because options
are controlled by different configure scripts (icu is based on bash, while js is
based on python), and I have no idea how to pass MOZ_SHARED_ICU to js's
moz.configure.

Tag #62
2023-03-28 12:11:00 +08:00
Matt A. Tobin
924bf92e4b Issue #61 - Add configure option for non-windows platforms
Windows will ALWAYS have this enabled but we eventually want all target operating systems to use this as well but that will require more work
2023-03-28 12:08:12 +08:00
Brian Smith
3d2a4f4066 Issue #2160 - Initial support for notarizing during DMG package. Added --with-macbundle-idenity configure option to set a codesign identity. If no identity is set or cross-compiling from Linux no codesigning will be done. Currently doing a full deep bundle v2 sign, instead of limited v1. 2023-03-15 22:49:40 +08:00
Brian Smith
35ba45aa32 Issue #1905 - Part 4a - Change "as" test to "Apple" from "LLVM". This will make this test Mac only, but it should work with any Xcode. 2022-06-22 08:55:06 +08:00
Brian Smith
163bce2e81 Issue #1905 - Part 3k - Separate the GNU and LLVM-as tests. While we should be able to test these together, I don't want to risk breakages on different *nixes. 2022-06-13 09:10:37 +08:00
Brian Smith
ccdf07735a Issue #1905 - Part 3d - Report GNU AS when the system "as" is LLVM-as. LLVM as is generally compatible with GNU, this should allow ICU to build on ARM Macs. 2022-06-13 09:00:46 +08:00
Brian Smith
02ceb3e1a3 Issue #1905 - Part 3c - Remove iOS from the rest of the configure system. 2022-06-13 09:00:22 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
Moonchild
b6e147a194 Issue #21 - Remove MOZ_SERVICES_HEALTHREPORT from old-configure.
Also remove irrelevant references from build docs.
2022-04-28 10:39:31 +08:00
Moonchild
8d800b1cb0 Issue #21 - Remove Telemetry plumbing and fix build.
Note this won't give working applications. Requires FE changes and
additional js module changes (next part).
2022-04-28 10:25:48 +08:00
Moonchild
ba00d14c12 Issue #1751 - Remove Mac code behind MOZ_WIDGET_TOOLKIT == 'cocoa' 2021-06-24 11:09:47 +08:00
Moonchild
a4b0f333ba Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.
This also removes some PP abuse and takes file entries out of PP when no longer
needed without XP_MACOSX conditionals.
2021-05-07 09:53:59 +08:00
Moonchild
2f27335cc4 Issue #1751 -- Remove XP_DARWIN 2021-05-05 10:27:04 +08:00
Moonchild
a9c8f3a84a Issue #1751 -- Remove XP_IOS 2021-05-05 10:26:14 +08:00
Moonchild
407a983af1 Issue #1751 - Remove MacOS support from configure 2021-03-25 09:05:02 +08:00
Moonchild
1feafdc819 Issue #1053 - Remove mobile-specific graphics "optimizations" (=compromises) 2021-03-11 10:13:55 +08:00
Moonchild
50653a7c4c Issue #1053 - Remove build system MOZ_ANDROID_* defines and related code. 2021-03-11 10:13:09 +08:00
Moonchild
02233308b1 Issue #439 - Remove web-platform tests from the tree.
This removes a total of 23,936 files we would never use nor have the capacity
to properly maintain or keep up-to-date.
2021-02-05 07:34:17 +08:00
Olivier Certner
24391cb707 Issue #1699 - Part 3c: mozjemalloc: FreeBSD: Ensure early initialization
This guarantees that initialization is done in a single-thread context.
2021-01-08 17:40:55 +08:00
Matt A. Tobin
e31680357e Issue #251 - Move chrome packaging options to ac configure
Also adds options for new functionality in #1683
2020-11-19 21:11:41 +08:00
Moonchild
d5919942ff Issue #1656 - Part 8: Devtools and misc. 2020-09-25 22:06:55 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Matt A. Tobin
4413fcfdaa Update old.configure for --enable-phoenix-extensions 2020-08-29 08:06:38 +08:00
Moonchild
89ad46ab66 Issue #1451 - Split out ICU data file on Windows
This reduces the xul.dll size by 11 MB
2020-05-09 06:56:22 +08:00
wolfbeast
eabcbe5672 [AM] Clean up addon-signing build leftovers. 2020-05-02 08:23:23 +08:00
wolfbeast
20b2c26451 Issue #251 - Move MOZ_AV1 back to ac configure for everyone to use. 2020-04-18 07:02:10 +08:00
Matt A. Tobin
bb6d11a8a8 Alter config.guess to properly detect host and target bitness on SunOS 2020-04-11 09:40:35 +08:00
New Tobin Paradigm
011949484d Issue #1497 - Re-implement an un-preprocessed file check 2020-04-11 09:40:28 +08:00
Matt A. Tobin
55aa43420a Teach config.guess to know if we want to build 32 or 64 bit builds on Windows 2020-04-03 09:22:03 +08:00
wolfbeast
8778ddfc52 Issue #1467 - Part 4: Rename NSS_SQLSTORE to MOZ_SECURITY_SQLSTORE.
Rename the build config option accordingly.
2020-04-03 09:14:07 +08:00
wolfbeast
105283790e Issue #1467 - Part 1b: Fix type and make moz.configure happy. 2020-04-03 09:12:06 +08:00
Matt A. Tobin
57552faa1d Issue #251 - Move --disable-dbm to ac configure
Also Tag #1467
2020-03-05 09:38:24 +08:00
Matt A. Tobin
ecf0a07d12 Issue #1319 - Remove EARLY_BETA_OR_EARLIER condition 2020-03-05 09:38:16 +08:00
wolfbeast
fced04faa2 Issue #1342 - Remove support for system libvpx 2020-02-07 07:52:18 +08:00
wolfbeast
7b237d9768 Issue #1342 - Remove support for system sqlite 2020-02-07 07:52:16 +08:00
wolfbeast
2ca47404a4 Issue #1342 - Update old.configure for removed build options 2020-02-07 07:52:14 +08:00
wolfbeast
7f94258c9a Issue #1342 - Remove support for system linbpng 2020-02-07 07:52:11 +08:00
wolfbeast
0070369171 Issue #1342 - Remove support for system NSPR/NSS 2020-01-31 07:44:03 +08:00
wolfbeast
a7a26d5d62 Issue #1342 - Remove support for system ICU 2020-01-31 07:43:12 +08:00
wolfbeast
25ae10aaec Issue #1342 - Remove support for system libevent 2020-01-24 09:36:30 +08:00
wolfbeast
48adbfd454 Issue #1322 - Part 2: Remove --enable-sm-promise buildconfig switch. 2019-12-20 09:07:26 +08:00
Matt A. Tobin
1531d6498d Issue #1258 - Part 8: Ifdef MailNews OAuth2 Support
Use --disable-mailnews-oauth2 to exclude it. Confvars won't be respected.
2019-11-17 00:09:28 +08:00
Matt A. Tobin
18ffebc2a1 Issue #1258 - Part 3: Make mailnews and friends build 2019-11-17 00:09:10 +08:00
Gaming4JC
84c1e8ce10 Issue #1265 - Expose sndio as a build option for any supporting system 2019-11-04 11:54:32 +08:00
athenian200
0ffa2c1711 MoonchildProductions#1251 - Part 26: Oracle Solaris gsed/ICU fix.
OpenIndiana didn't need this for some reason, but on Oracle Solaris, we need this to make sure we're using gsed (GNU sed) here. It's probably a safer bet anyway.
2019-11-04 11:54:06 +08:00
athenian200
b652dd59ae MoonchildProductions#1251 - Part 7: All the posix_m* memory-related stuff, gathered together.
https://bugzilla.mozilla.org/show_bug.cgi?id=1158445
https://bugzilla.mozilla.org/show_bug.cgi?id=963983
https://bugzilla.mozilla.org/show_bug.cgi?id=1542758

Solaris madvise and malign don't perfectly map to their POSIX counterparts, and some Linux versions (especially Android) don't define the POSIX counterparts at all, so options are limited. Ideally posix_madvise and posix_malign should be the safer and more portable options for all platforms.
2019-11-04 11:52:22 +08:00
athenian200
afb2e3a054 MoonchildProductions#1251 - Part 4: Core build system changes, lots of libevent/IPC junk.
This is mostly ifdefs, but as you can see, Solaris is actually a lot like Linux. They're both more SysV than BSD at core, and most of the differences have more to do with Solaris not using glibc than anything else.

I still need to audit a lot of these changes and understand why they're needed and what the alternative approaches are. After this patch, most of the core functionality needed to build Solaris is here.
2019-11-04 11:52:17 +08:00